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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
493人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • for-in 的坑
    查看全部
  • function fun() {} 申明的函数,可以在申明前调用; var fn = function() {} 则不行。
    查看全部
  • try-catch嵌套使用时:①内层的try-catch处理异常后如果不 throw 异常,外层的try-catch不会调用 catch。 ②内层的try-catch不处理异常,则交由外层的try-catch处理异常。
    查看全部
  • 没有块级作用域,有函数内作用域,全局作用域。 不要使用 var a=b=1;的赋值语句,会产生一个全局变量b。 尽量使用 :var a = 1, b = 1
    查看全部
  • delete a.x; 删除Object a 的属性x,再次访问时为undefined. void 0; 无论后面接什么操作数都返回undefined.
    查看全部
  • <script type="text/javascript"> /* * param1 Array * param2 Array * return true or false */ function type(a){ return a === null ? '[object Null]':Object.prototype.toString.apply(a); //hack ie678 } function arraysSimilar(arr1, arr2){ if(!Array.isArray(arr1) || !Array.isArray(arr2) ||arr1.length!=arr2.length){return false;} var arr3=[]; var arr4=[]; var x; for(var i in arr1){ arr3.push(type(arr1[i])); arr4.push(type(arr2[i])); } if(arr3.sort().toString()==arr4.sort().toString()){ return true; }else{ return false; } } </script>
    查看全部
    0 采集 收起 来源:编程练习

    2018-03-22

  • 小结:
    查看全部
  • 注意:不同window或iframe间的对象类型检测不能使用instanceof!!!
    查看全部
  • arr.shift()删除数组头部元素
    查看全部
  • arr.unshift(); 在数组头部添加元素
    查看全部
  • 实现继承的方式 第一种是指向同一个原型对象 第二种是调用两次被继承的构造函数 第三种是通过原型链的混成方式 function inheritPrototype(sub,super) { if (!Object.create) { Object.create = function (o) { function F(){}; F.prototype = o; return new F; } } var prototype = Object.create(super.prototype); prototype.constructor = sub; sub.prototype = prototype; } ​Object.create()不兼容ie8及更早版本,需要先判断处理 constructor属性在重写默认prototype对象时会改变,需要重指向处理
    查看全部
  • 创建一个新函数 函数创建prototype属性 -- 指向函数的原型对象 原型对象自动获得constructor(构造函数)属性 -- 指向prototype属性所在函数的指针 _proto_属性 浏览器支持属性 -- 访问[[Prototype]] 这个连接存在于实例和构造函数的原型对象之间 作用域安全--应对没有使用new操作符调用构造函数生成实例 function Person(name,age){ if (this instanceof Person) { this.name = name; this.age = age; } else { return new Person(name,age); } }
    查看全部
    0 采集 收起 来源:概念与继承

    2016-11-08

  • 类型检测
    查看全部
  • 检测类型 typeof 操作符 instanceof 操作符 安全类型检测 function isArray(value){ return Object.prototype.toString.call(value) == "[object Array]"; } function isFunction(value){ return Object.prototype.toString.call(value) == "[object Function]"; } function isRegExp(value){ return Object.prototype.toString.call(value) == "[object RegExp]"; } constructor (构造函数)属性(可读写)
    查看全部
  • 一切皆对象 基本包装类型 每当读取一个基本类型值得时候,后台就会创建一个对应的基本包装类型的对象 基本包装类型生存期 只存在代码执行瞬间,不要为基本类型值添加属性和方法
    查看全部

举报

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

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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