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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
492人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 函数声明的不同之处
    查看全部
    0 采集 收起 来源:小结

    2015-04-25

  • 在全局环境中,则不用考虑函数参数初始化,仅仅考虑函数声明和变量声明
    查看全部
  • (针对函数)变量初始化的顺序: 1、函数参数初始化(若未传入,初始化该参数为undefined) 2、函数声明(若发生命名冲突,会覆盖) 3、变量声明(初始化变量为undefined,若发生命名冲突,则会忽略)
    查看全部
  • 严格模式是一种特殊的执行模式,它修复了部分语言上的不足,提供更强的错误检查,并增强安全性。 严格模式:不允许使用with。不允许未声明的变量被赋值。delete不可配置的属性报错。对象字面量重复属性报错。禁止八进制字面量。eval、arguments变为关键字,不能作为变量、函数名。eval独立作用域。 严格模式:‘user strict’让代码在严格模式下执行 与普通模式的区别: 1、不允许使用with(如果使用会报SyntaxError); 2、不允许未声明的变量赋值(如果没有声明就赋值会报ReferenceError); 3、arguments变为参数的静态副本; 4、delete参数、函数名会报错SyntaxError; 5、delete不可配置的属性报错TypeError; 6、对象字面量重复属性名报错SyntaxError; 7、禁止八进制字面量报错SyntaxError; 8、eval,arguments变为关键字,不能作为变量、函数名,报错SyntaxError; 9、eval独立作用域;
    查看全部
  • for..in用于数组的遍历,但是 1、它遍历的顺序是不确定的,依赖于操作引擎; 2、enumerable为false时不会出现 3、for in 对象属性时受原型链影响,即当原型的enumerable为true时也会出现 4、with避免重复书写对象,但是js已经不建议使用with了,因为:with让js引擎优化更难,可读性差,可被变量定义代替,在严格模式下with被禁用
    查看全部
  • try语句如果抛出异常,则执行catch语句,否则不执行,无论有没有异常,都执行finally语句;try语句必须跟catch或finally语句中至少一个组合使用。 try catch语句的嵌套语句执行顺序: 1)如果内部嵌套的try语句抛出异常,但内部没有相配套的catch语句,先执行内部的finally语句,然后跳到最近一层的catch语句执行。 2)如果内部嵌套的try语句抛出异常,内部有相配套的catch语句,先执行此语句处理异常,再执行内部的finally语句。不会再在外部处理异常。 3)如果内部嵌套的try语句抛出异常,内部有相配套的catch语句,并且catch语句也抛出异常,如果内部的catch语句有对异常的处理,先执行异常处理语句,然后执行内部的finally语句,最后执行离内部catch语句抛出异常最近一层的catch语句处理异常。
    查看全部
  • Student.prototype.hi覆盖了Person.prototype.hi,Student.prototype继承了Person.prototype上的方法,所以bosn.LEGS_NUM才能访问到,walk()才可以访问到.
    查看全部
    0 采集 收起 来源:概念与继承

    2015-04-25

  • 利用函数作用域封装 (),! ,+ 的作用是:把函数变成函数表达式 而不是声明(如果是声明的话,会被前置) 利用函数作用域进行封装可以达到避免跟其他类库造成全局变量冲突的效果
    查看全部
  • 作用域链 local1 可以访问到local2 和全局变量; 用new function是无法访问同级作用域的变量的
    查看全部
  • js的作用域有三种作用域:全局,函数,eval js没有块级作用域,iteam在全局定义和for内部定义没区别
    查看全部
  • 闭包的优点跟缺点
    查看全部
  • Student.prototype=Object.create(Person.prototype),创建一个空对象Object,这个空对象的原型指向了Person,访问Student.prototype的时候,可以向上查找到Person.prototype,又不会影响到Person的前提下,自由的创建Student.prototype上的方法,Person.prototype是Student.prototype的原型,这样的好处是给Student.prototype赋值属性时,Person.prototype对象不会也赋上同样的值,Student.prototype又可以继承Person.prototype上的属性和方法.(和直接Student.prototype=Person.prototype这样赋值方法对比的好处)
    查看全部
    0 采集 收起 来源:概念与继承

    2015-04-25

  • 闭包概念
    查看全部
  • 在Foo.prototype上添加属性和方法,new出来的obj1,obj2,obj3可以共享.
    查看全部
    0 采集 收起 来源:概念与继承

    2015-04-25

  • foo.length返回形参的个数 foo.name 返回函数的名字 arguments.length 返回实参个数
    查看全部

举报

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

微信扫码,参与3人拼团

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

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