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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
493人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 用===判断是不是null
    查看全部
  • 数组和对象的区别 相同点: 都可以继承 数组是对象 对象不一定是数组 都可以当做对象添加删除属性 不同点:数组自动更新length 按索引访问数组常常比访问一般对象属性明显迅速 数组对象继承Array.prototype上的方法 字符串和数组 字符串是类数组 可以根据下标取到元素 也有长度的属性 var str ="hello"; str,charAt(0);//h str[1];//e Array.prototype.join.call(ste,'_'); 点call 的方式将字符串数组传进来 然后用_ 来进行拼接 //h_e_l_l_0
    查看全部
  • 8判断是否是数组,有 4 种方法:1. Array.isArray(arr), 2. arr instanceof Array , 3. Object.prototype.toString.apply(arr) , 4. arr.constructor === Array
    查看全部
  • 数组的方法(ES5的方法) 1.forEach 遍历 2.map 映射 var arr = [1,2,3]; arr.map(function(x){ return x +10; });//【11,12,13】 arr;//[1,2,3] 原数组未被修改 3.filter 数组过滤 arr = [1,2,3,4,5,6,7,8,9,10]; arr.filter(function(x,index){ return index%3 ===0 || x>=8; }); [1,4,7,8,9,10]; arr; 原数组未被修改 4. 数组判断 every 所有的元素都符合条件 返回true 否则返回false some 某个元素符合条件则返回true 若所有的元素都不符合条件则返回false var arr =[1,2,3]; arr.every(function(x){ return X<10; });//true arr.every(function(x){ return x < 3 });//false 6.reduce 数组中的元素两两之间的某些操作 从左到右 reduceRight 从右往左 var arr = [1,2,3]; var sum = arr.reduce(function(x,y){ return x+ y },0);//6 传入了一个0 则x相当于0 y 相当于1 然后值1 ; 然后此时 x 相当于1 y 相当于2 和为3 x相当于3 y 相当于3 和为6 所以结果为6 如果不传入0这个值 则X从数组的第一个元素开始 循环两两元素相加 reduceRight 同理 只不过是从右往左开始两两操作 7.indexOf 数组的检索 indexOf(a,b);a 是查找的元素 b是开始查找的位置 正数从左数的位置 负数从右数的位置 indexOf(元素); 返回的是元素的下标 不存在返回-1 lastIndexOf 从右往左查
    查看全部
  • 稀疏数组 并不含有从0开始的连续索引 一般length 属性值比实际元素个数大
    查看全部
  • 数组: 1、JS中的数组是弱类型的 数组中可以含有不同类型的元素 数组元素甚至可以是对象 或者其他数组; 2.创建 2.1 字面量 var arr = ['ds','aa']; 2.2 new Array构造器 var arr = new Array(); var arr = new Array(10); 则表示该数组有10个空元素 var arr = new Array('a','b'); 等价于 ['a','b']; new 是可以省略的 3.数组的读写 数组元素增减 arr.push(1); 添加元素 arr.unshift()在数组头部添加元素 delete arr[2]; 是将数组中的下标为2的元素 变成undefined 并什么真正的删除 arr.pop() 删除数组的最后一个元素 arr.shift 删除数组的第一个元素 数组迭代 for循环 for in 遍历(定义在原型上的属性也会遍历出来) 使用hasOwnProperty可以避免将原型上的属性遍历出来 for(i in arr){ if(arr.hasOwnProperty(i)) //不会遍历出原型上的元素 }
    查看全部
  • 继承完整实例
    查看全部
    0 采集 收起 来源:概念与继承

    2017-02-10

  • alert(x) var x=10 alert(x) x=20 function x(){} alert(x) if(true){ var a=1 }else{ var b=true } alert(a) alert(b)
    查看全部
  • 函数声明过程函数与前面声明的函数或变量重名会覆盖之前声明的函数或变量 变量声明过程变量与前面声明的函数或变量重名会忽略之前声明的函数或变量,但初始化过程则会覆盖之前声明的函数或变量 VO变量对象 AO函数对象 函数表达式的声明不会影响AO 因此无法在函数外直接通过函数名访问函数表达式声明的函数
    查看全部
  • javascript可以用!或+或()放在function前,为函数表达式写法,防止function前置形成函数声明,函数声明后加()会报错
    查看全部
  • javascript没有块级作用域(for、while、if等括号中声明变量和括号外声明变量效果一样,在语句块外仍然可以访问)
    查看全部
  • bind方法模拟 有机会回来复习
    查看全部
  • 访问方式的改变,影响this作用域的指向
    查看全部
  • 严格模式下
    查看全部
  • Object.defineProperties{person,{ title:{value:'meme',enumerable:ture(可枚举)} }}定义属性标签 属性标签: writable: 是否可写 enumerable: 是否可以被枚举 configurable: 是否可以被设置 也表示属性是否可以被删除
    查看全部

举报

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

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

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