为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
492人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 相同点:都可以继承,数组是对象,对象不一定是数组,都可以当作对象添加删除属性。 不同点:数组自动更新length,按索引访问数组常常比访问一般对象属性明显迅速。数组对象继承Array.prototype上的大量数组操作方法。 var str="hello world";ctr.charAt(0);//"h" str[1];//e Array.prototype.join.call(str,"_");//"h_e_l_l_o__w_o_r_l_d" Array
    查看全部
  • bind方法对this的影响
    查看全部
  • 原型链之间的继承
    查看全部
    0 采集 收起 来源:概念与继承

    2015-05-04

  • forEach:遍历数组元素的方法,arr.forEach(function(x,index,a){});//x具体的元素值,index对应的下标,a数组本身 map:数组映射,var arr=[1,2,3];arr.map(function(x){return x+10;});//[11,12,13] arr;//[1,2,3]不会修改原数组 filter:数组过滤,原数组不被修改,arr.filter(function(x,index){}) every:表示每一个元素都要符合一定的条件 var arr=[1,2,3];arr.every(function(x){return x<10;});//true some:只要任意一个元素符合条件就可以了,every相当于逻辑与,some相当于逻辑或 reduce:数组两个元素两两操作var arr=[1,2,3];arr.reduce(function(x,y){return x+y;},0);//6,这里的0是和1最开始进行相加的,每次结果作为新的x,下一个元素作为y,原数组未被修改 reduceRight:是从右到左开始遍历的,其他的还是跟reduce一样的,都可以将数组聚合成一个结果 indexOf:arr.indexOf(a);//表示元素值为a的所在数组的下标位置,arr.indexOf(a,i)从下标为i的元素开始查找元素值为a的下标位置 lastIndexOf:与indexOf差不多,只不过是从右到左开始查找的,返回元素所在的下标位置 isArray:判断是否为数组,必须用Array构造器对象调用 其他的判断是否数组的方法: [] instanceof Array;//true ({}).toString.apply([])==='[object Array]';//true [].constructor === Array;//true
    查看全部
  • 最前面加!或外层(),强制函数转函数表达式。否则匿名函数JS报错!两种方式完全等同。
    查看全部
  • 函数闭包-封装技术
    查看全部
  • join:将数组转换为字符串var arr=[1,2,3] arr.join("-");//"1_2_3" new Array(4).join("a");//"aaa"; reverse:将顺序逆序 var arr=[1,2,3];arr.reverse();//[3,2,1];arr;//[3,2,1]; sort;排序,原数组被修改,默认按照字母排序,对于数字也是先转换为了字符串,可以自己在sort传入一个比较函数 arr.sort(function(a,b){return a-b;} //从小到大(从大到小则是return b-a;)) concat:合并数组,原数组未被改变,如果数组元素作为参数则数组会被拉平arr.concat([10,11],13)//[1,2,3,10,11,13], 如果参数是数组,并且数组的元素还是数组,则数组元素不会被拉平 arr.concat([1,[2,3])//[1,2,3,1,[2,3]]; slice:返回数组的片段,原数组不会被修改 slice(i,j)//i表示开始元素的下标,j表示要获取的最后一个元素的下一个数的下标(左闭右开区间), slice(i)//从i开始到最后所有的元素 slice(i,-1)//i开始元素的下标,-1表示最后一个元素(负数表示从后面数),获取到最后一个元素的前一个元素 splice:数组拼接,数组被修改 var arr=[1,2,3,4,5]; (接收一个参数)arr.splice(2);//return [3,4,5] arr;//[1,2],表示i表示开始元素的下标,从这个元素还是删除到最后一个元素 (接收两个参数)arr.splice(i,j);//i表示开始元素的下标,j表示想删除的元素的个数 arr.splice(1,1,'a','b');//表示从下标为1的元素开始删除,删除元素个数为1,即只删除下标为1的元素,被删除的位置重新添加‘a’,‘b’这两个元素
    查看全部
  • 关注,闭包的好处。
    查看全部
  • 监听点击、AJAX等
    查看全部
  • 闭包: function outer(){ var s = 30; return function(){ return s; } } outer(); //function (){ return s; } 为什么这里调用结果是函数 var p = outer(); p(); //30 赋值再调用就是30呢?
    查看全部
  • 二维数组:数组的元素是数组 稀疏数组:并不含有从0开始的连续索引,一般length属性值比实际元素个数大 var arr1=[undefined];//第一个元素为undefined var arr2=new Array(1);//定义一个长度为1的数组 0 in arr1;//true 0 in arr2;//false arr1.length=100; arr1[99]=123; 99 in arr1;//true 98 in arr1;//false var arr=[,,]; 0 in arr;//false
    查看全部
  • 创建数组:1、用中括号var BAT=["aaa","bbb","ccc"]; 2、用new array():var a=new Array(100);//undefined*100 var b=new Array(true,false,null,1,2,"hi");//等价于[true,false,null,1,2,"hi"] 数组是动态的,无需指定大小,arr.push跟arr[arr.length]都是在数组的后面添加,arr.unshift在数组的头部添加 delete某个arr[i]只会让这个arr[i]这个位置的元素变为undefined,实际长度还是不变的; arr.length -=1;//把最后一个元素删除,arr.pop()也是会删除尾部元素; arr.shift()删除头部元素; 数组迭代:1、一般的for循环;2、for in(会把原型的也打印出来),要用hasOwnProperty去判断下,而且for in是没有按顺序的
    查看全部
  • 六中数据类型: num string boolean null undefined object(Fucntion Array Date内置对象)
    查看全部
  • 这个理解了,那JS就通了... ...
    查看全部
  • 判断浏览器是否IE9以下,自己写一个bing的功能函数!
    查看全部

举报

0/150
提交
取消
课程须知
1.您至少学习了本站“JS入门”、“JS进阶”两门基础课程。 2.如您具备一定实践经验对学习有很大帮助。 3.如您没有脚本编程开发经验,学习过程有可能会受挫部分内容或示例代码,请“暂时略过不懂的部分,后面章节会阐述”,当然想透彻学习,还需大量实践来体会知识的内涵。
老师告诉你能学到什么?
结合实例,深入解析以下知识内容: 1. 数据类型、表达式和运算符、语句; 2. 对象、数组、变量、函数; 3. this、闭包和作用域; 4. OOP; 5. 正则与模式匹配。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!