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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
492人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • var xx = { sex:"男", name:"yang", xx:"math", get time(){ return new Date().getFullyear(); }, set time(xx){//这个是在设置属性的时候调用 console.log(xx); }
    查看全部
  • Object.freeze(obj);//将对象冻结,不可删不可扩展也不可写。
    查看全部
  • 先实现原型链的继承,再扩展。 因为继承的时候会改写prototype属性,如果后继承可能会覆盖掉之前的prototype属性。
    查看全部
  • 模块化函数内部变量不会泄漏到全局作用域。 两种方法 1.定义立即执行函数 moduleA = function(){}(); 2.this 方法 moduleA = new function(){ var prop = 1; function func(){} this.func = func; this.prop = prop; }
    查看全部
  • 云里雾里
    查看全部
    0 采集 收起 来源:编程练习

    2015-07-30

  • getOwnPropertyDescriptor(Object,'prototype') 获取指定对象的指定属性 eval()内定义的变量能被Delete删除 Object.defineProperty(cat,'price',{enumerable:false,value:1000});//用defineProperty定义一个属性enumerable默认是false 不能被枚举即是console.log()对象的时候不会被打印出来 cat.propertyIsEnumerable('price') //检测属性能否被枚举
    查看全部
  • hasOwnProperty() 判断受否有某个属性 __proto__.hasOwnProperty() 判断原型链上一级是否有某属性
    查看全部
  • 对象属性的属性标签: writable enumerable configurable value get/set 对象: prototype(原型链) class(表示属于那一个种类) extensible(是否允许继续添加属性)
    查看全部
  • 严格模式: 'use strict' 1,wiht(用于改变作用域)被禁止使用 2,所有变量必须声明,赋值给未声明的变量报错,而不是隐式创建全局变量 3,eval会自己单独创建一个作用域,而不是在eval所在的作用域之下 4,函数中的特殊对象arguments是静态副本,而不是像非严格模式那样,修改argument或者参数会相互影响。但是如果参数是对象修改对象的属性是可以的如:!function(a){ 'use strict'; arguments[0]=100; console.log(a); }({x:1}); 5,删除configurable=false的属性时报错,而不是忽略 6,禁止八进制字面量,如console.log(0123);会报错 7,eval,arguments变为关键字,不可作为变量,函数等 8,一般函数调用时(不是对象的方法调用,也不使用apply/call、bind等修改this)this志向null,而不是全局对象。 9,如果使用apply/call,当传入null或者undefined是,this降指向null或者undefined,而不是全局对象。 10,试图修改不可写属性(writeable=false),在不可扩展的对象上添加属性时报TypeError,而不是忽略 11,arguments.caller,arguments.callee被禁用
    查看全部
  • 对象创建方法三 Object.creat({x:1}); 参数一般是对象; 并不是所有的对象都有toString方法;
    查看全部
  • /** * 类型判断方法 * param item * return type(string,function,boolean,number,undefined,null,window,Date,Array,object) */ function typeOf(item){ var type = typeof item; if(type != "object"){ // 判断基本类型string,function,boolean,number,undefine }else if(item === null){ // check null type = "null"; }else if(item === window){ // check window type ="window"; }else{ // 判断object类型object,date,array if(item instanceof Date){ type = "date"; }else if(item instanceof Array){ type = 'array'; }else{ type = 'object'; } } return type; }
    查看全部
    0 采集 收起 来源:编程练习

    2018-03-22

  • prototype属性 原型链 如果对象上没有这个属性 就会向上找prototype delete不会删除原型链上的属性
    查看全部
  • 实现继承的方法: Student.prototype = Object.create(Person.prototype); Student.prototype.constructor = Student;
    查看全部
  • instanceof左边一般是对象,右边是一个函数(构造器)。 instanceof用来判断右边构造器的prototype属性是否出现在左边对象的原型链上。
    查看全部
    0 采集 收起 来源:instanceof

    2015-07-30

  • obj.hasOwnProperty('z'); //false
    查看全部
    0 采集 收起 来源:prototype属性

    2015-07-30

举报

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

微信扫码,参与3人拼团

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

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