登录  /  注册
博主信息
博文 48
粉丝 0
评论 0
访问量 39238
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
JS语法基础
小星的博客
原创
1053人浏览过
  1. javascript是最流行的,而且是唯一的写"前端脚本"的编程语言。

  2. JS主要有两部分组成:变量和函数。

  3. js数据类型分为二大类: 原始类型与引用类型;;js不允许自定义数据类型,因为js是动态的,可以模拟出任何类型,不需要自定义
    (2). 原始类型: String字符串;Number数值(不区分整数和浮点数);Boolean布尔;Undefined未定义;Null类型
    (3). 引用类型:[Object对象,;Array数组]重点掌握;Function函数; Date日期;RegExp正则; 包装对象...

  4. JS中:用户生函数,函数生对象,对象生万物。  一切皆对象。

  5. JS中函数分类:

    函数声明:函数声明自动提前:因为函数如此重要,所以函数声明会自动提升到代码最前面,不论在脚本的什么地方声明,都可以直接使用。外部声明的变量,函数内部可以使用;函数内部声明的变量,外部不能使用。

    函数表达式:函数表达式就是一个值:let fn = function(){ return 200; }

    匿名函数:匿名函数主要用于函数的传参。eg: [1,2,3,4].filter(function( item, index, array){ return item>3; })  返回[4]

    filter是一个数组过滤函数,会为每一个数组元素执行该方法,返回过滤后的数组;item必填,是当前数组元素的值,index是元素的索引,array是当前元素属于的数组对象。

    自执行函数:eg: ( function( a, b ){ return a+b; } )(20, 50): 直接就将20与50传参给了a和b。


  6.  js根本不在乎函数有没有参数,以及参数有多少,是什么类型;
     因为在内部是使用一个数组来接收这些参数,并使用对象 arguments 来访问这个数组。

    //声明
            function add() {
                var num = arguments.length
                switch (num) {
                    case 0:
                        return '至少要有一个参数'
                        break
                    case 1:
                        return arguments[0]
                        break
                    case 2:
                        return arguments [0]+arguments[1]
                        break
                    case 3:
                        return arguments[0]+arguments[1]+arguments[2]
                        break
                    default:
                        return '参数过多'
                }
            }
            //调用
            add() // '至少要有一个参数'
            add(100) // 100
            add(100,200)  // 300
            add(100,200,300) // 600
            add(100,200,300,400) // '参数过多'

    运行实例 »

    点击 "运行实例" 按钮查看在线实例

  7. 创建新数组
       (1):基于当前数组中的所有项,创建一个新数组: concat()
           var arr = [1,2,3]
           arr.concat(4,5)     // 返回5个元素的新数组:[1, 2, 3, 4, 5]
           arr.concat([6,7,8]) // 接受数组参数,这个数组会拆开,将每一个元素并入原数组中:[1, 2, 3, 6, 7, 8]
       (2).基于数组的开始与结束的位置来创建: slice() 单词本意: 切开
           slice(起始索引[,结束索引]),如省略结束索引,默认为后面全部数据
           var arr = [10,20,30,40,50]
           arr.slice(2)        // 从索引2开始,获取后面全部内容: [30, 40, 50]
           arr.slice(1,4)      // 从索引1开始,到索引4结束(不含索引4): [20, 30, 40]
       (3).向数组中间插入数据: splice(), 功能主要是: [删除,插入,替换]
           参数说明: splice(start,length,value...)
           1). 删除
           arr.splice(起始,删除数)
           var arr = [10,20,30,40,50]
           arr.splice(0,2)     // 从头部0,开始删除2个,返回删除的元素: [10, 20]

           2). 插入
           arr.splice(起始,0,要插入项)
           arr.splice(1,0,88,99) //第二个参数0,表示插入,插入的数据是第三个参数
           //本例是从第二个元素起,插入二个新元素:88,99:
           arr     // 查看当前数组: [30, 88, 99, 40, 50]

           3). 替换
           arr.splice(起始,删除数,要插入项)
           arr.splice(2,1,'dog','cat')     // 返回删除项: 99
           arr     // 查看数组: [30, 88, "dog", "cat", 40, 50]

  8. 数组的反转:arr.reverse()

    数组的排序:sort():

    var arr = [10,4,22,8,2]
    arr.sort()      // [10, 2, 22, 4, 8]:显然错误,因为sort()默认将元素视为字符串,'10'显然是小'2'
    //解决方案: sort()可接受一个回调参数,在回调函数中进行比较运算完成正确排序
    function compare(val1,val2){
      if (val1 < val2) {
         return -1
      } else if (val1 > val2) {
          return 1
      } else {
          return 0
      }
    }

    ***对于数值型元素的比较,这个回调函数可以进行简化:
    function compare(val1,val2) {
       return val - val2  //升序
    }

    arr.sort(compare)       // 输出正确结果:[2, 4, 8, 10, 22]
    //如果改为降序排列,只需要改变回调中的返回值即可
    function compare(val1, val2) {
       return val2-val1   //降序: 用第二个参数减去第一个参数即可
    }

    arr.sort(compare)   // 降序: [22, 10, 8, 4, 2]


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学