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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
492人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • arr.reverse() 颠倒顺序, 会返回颠倒数组并且原数组也会改变.
    查看全部
  • new Array(n+1) 这个数组就会有n个'逗号' .join(a) 对象a 就会取代这n个'逗号' 实现重复n次
    查看全部
  • arr[arr.length]=4 在尾部添加一个元素4 arr.unshift(0) 在头部添加一个元素0 arr.length -=1 减去arr的长度/在尾部删除一个元素 arr.pop() 在尾部删除一个元素 arr.shift() 从最前面删除一个元素 [ 查看全文 ]
    查看全部
  • unshitf 在头部添加元素
    查看全部
  • 属性标签对照表
    查看全部
  • get age 获取age属性 等于是 使用man.age会调用get方法 set age 给age属性赋值 等于是 使用man.age=100 会调用set方法
    查看全部
  • 类型检测小结
    查看全部
  • 无法操作原型的属性值。 访问属性为“underfinded”的情况下,可以用hasOwnPropert来判断区分。 create指向的原型还是Object.prototype。 carete创建的对象使用hasOwnPrerty,指向的是原型属性。
    查看全部
  • var obj=new foo() obj的原型指向构造器的prototype属性(对象属性)
    查看全部
  • 对象构造: 除了本身被赋予的值之外,对象还有几个隐藏标签: proto:对象的对象属性prototype上的赋值,一般是该对象种类的不变属性或方法,例如 new一个猫,猫的颜色和年龄可以作为一般属性,而猫叫,猫吃鱼这种不常变动的属性可以在prototype上赋值,可以节省内存。 class:对象的种类 extensible:是否允许该对象继续增加新的属性 另外对象的值(如 x=1),也有对应的属性或方法,提供一些访问权限的控制 writable:是否可写 enumerable:是否能被枚举 configurable:是否能够删除 value:值 get/set:获取/设置属性
    查看全部
  • use strict 可以写在整个函数的的里面,也可以写在整个函数的的最上面,也可以在上面加点东西啥的 1、严格模式,不允许用 with 语句。否则会报syntax error语法错误 2、一般可以隐式创建全局变量,直接进行赋值,但是严格模式会报错。 3 普通模式下:arguments[0..n]为函数fun(a,b,c)的参数的数组表现形式,严格模式下:arguments对象变为参数静态副本,即只能获得实际参数的值不能改变实际参数。ps:若得到的参数为对象,则仍可以借助arguments.x对对象的属性进行修改并产生影响。 4 在严格模式下,delete不可配置属性:Object.defineProperty(obj,'a',{configurable:false}});不能使用,会报错。 5 对象字面量属性名重复中,一般以最后一个属性为准,但在严格模式下会报错 6 严格模式下不能使用八进制字面量。 7 eval,arguments变为关键字,不可作为变量名和函数名。 8 eval独立作用域 9一般函数调用时(不是对象的方法调用,也不使用apply/call/bind等修改this)this指向null,而不是全局对象。若使用apply/call,当传入null或undefined时,this将指向null或undefined,而不是全局对象。 10 试图修改不可泄属性(writable=false),在不可扩展的对象上添加属性时报TyoeError,而不是忽略。 11 arguments.caller , arguments.callee被禁用
    查看全部
  • var a = b = 1;会使变量b全局提升,正确应为,var a=1,b=1
    查看全部
  • 没有块级作用域
    查看全部
  • 函数声明的函数会被提前,而表达式函数 (匿名函数赋值变量的函数只能提前函数名的声明)。
    查看全部
  • ES5特性下的arr函数 1.forEach(function(x,index,a){ do something });按数组长度循环,每次循环中,参数x为当前循环的元素,index为下标,a为指向本数组的指引。 2.map(function(x){ do something }); 也是将数组循环,x为当前循环的元素。不会修改原数组。 3.filter(function(x,index){return % 3 === 0|| x>8; }); 可以按function内的条件过滤数组。不会修改原数组。 4.arr.every(function(x){return x<10;})判断数组每个元素是否满足条件,arr.some()则是判断数组内是否含有满足条件的元素。 5.reduce(function(x,y){return x+y;},0);数组元素两两作运算(从左开始),reduceRight则是从右开始。不会改变原数组。 6.indexOf() 检索参数在数组中所在的下标。lastIndexOf(),从右边开始查找 7.isArrray([]); [] instanceof Array; ({}).toString.apply([])==='[object Array]' [].constructor===Array; 都是判断是否为数组的方法。
    查看全部

举报

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

微信扫码,参与3人拼团

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

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