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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
492人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 1. 原始表达式 //常量、直接量、关键字、变量 3.14、"test"、null、i、k、j 2. 初始化表达式 //[1,2]、{x:1, y:2} 3. 函数表达式 //var fe = function(){}、(function(){})() 4. 属性访问表达式 //var o = {x:1}、o.x、o['x'] 5. 调用表达式 //func() 6. 对象创建表达式 //new Func(1,2)、new Object
    查看全部
  • 特殊运算符的种类: 1、条件运算符 c?a:b c为true 则取a,否则取b 2、逗号运算符 a,b 例如 var s = (1,2,3),则s依次赋值,最后输出为3 3、delete运算符 delete obj.x 删除对象obj中的x属性 在IE9下,obj中必须configurable:true 才可以删除,否则无效 4、in运算符 判断obj是否有值或window里是否有变量,返回布尔值 例如 attr in json 或 'document' in window 5、instanceof 判断对象类型 {} instanceof Object // true(返回布尔值) 6、new运算符 创建一个新对象 new obj / new array ... 7、this对象 全局用指向window,函数内指向函数本身,浮动指针 8、typeof 判断对象,返回对象类型 例如 typeof 100 === 'number' // true(判断对应类型字符串) 9、void 一元的,判断所有值,返回均为undefined 一般delete 运算符可以删除对象的属性,而如果使用方法Object.defineProperty(对象,'属性',{configurable:false})处理了对象,该属性就不会被删除,反之ture就是可以被删除。
    查看全部
  • num-0 减法运算 num+'' 字符串拼接
    查看全部
  • typeof instanceof Object.prototype.toString.apply() constructor duck type
    查看全部
  • 1. 原始表达式 //常量、直接量、关键字、变量 3.14、"test"、null、i、k、j 2. 初始化表达式 //[1,2]、{x:1, y:2} 3. 函数表达式 //var fe = function(){}、(function(){})() 4. 属性访问表达式 //var o = {x:1}、o.x、o['x'] 5. 调用表达式 //func() 6. 对象创建表达式 //new Func(1,2)、new Object
    查看全部
  • 模拟实现Object.create(); if(!Object.create){ Object.create=function(proto){ function F(){ F.prototype=proto; return new F; }; }
    查看全部
  • 对于判断对象类型,更常用instanceof,instanceof是基于原型链去判断的操作符 obj instanceof Object,若左边操作数不是对象,是基本数据类型,则直接返回false 若左边操作数不是函数对象或者说函数构造器,则会抛出type error异常 原理是:instanceof会判断左边对象的原型链上是否有右边这个构造函数的prototype属性,有则返回true 说明左边的对象是右边类的实例 instanceof 不同window之间会不兼容,需慎重使用,因为空对象肯空对象不会相等,只是引用去判断对象。
    查看全部
  • 修改Student.prototype 并不能改变已经实例化过的对象
    查看全部
    0 采集 收起 来源:prototype属性

    2015-04-12

  • 当尝试以对象的方式使用一个String基本类型的时候,比如访问这个字符串的length属性或者增加一些属性,javascript会智能地把这个基本类型转换成一个包装类型对象。当设置完成后,这个临时对象会被销毁掉。所以再次访问该属性,就是undefined。Number Boolean 等同理。
    查看全部
  • +:第一种表示字符串连接 第二种表示数字相加 -:只表示数字相减 num-0 >> 数字 num+" " >> 字符串 0==false 1==true null==undefined new Object()==new Object() [1,2]==[1,2] 严格等于=== 现比较类型 再比较内容 null===null undefined===undefined NaN != NaN 两个对象不完全相等 object==number|string尝试对象转为基本类型 new String('hi') == 'hi' //true
    查看全部
  • prototype 和 原型 是两回事。prototype是函数对象上面上对象预设的一个属性 原型通常是构造器上的prototype 属性
    查看全部
    0 采集 收起 来源:概念与继承

    2015-04-12

  • 掌握不同情况下 this的值选取的规律
    查看全部
    0 采集 收起 来源:小结

    2015-04-12

  • 函数表达式不会影响vo !!! var e = function _e(){}; 在AO中不存在 _e:
    查看全部
  • 注意 代码段 var func =1; console.log(func);
    查看全部
  • 为什么函数声明会被提前,因为函数在变量初始化阶段 区域里面的声明已经被放过AO里面 var c= 10 ;只会在AO中放过变量申明 所以在 AO中 c:undefined 变量申明的冲突 是忽略,函数申明的冲突是覆盖 //冲突 变量名称相等
    查看全部

举报

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

微信扫码,参与3人拼团

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

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