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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
492人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 类型检测小结
    查看全部
  • Object.prototype.toString
    查看全部
  • instantceof注意点
    查看全部
  • instantceof举例
    查看全部
  • instantceof举例
    查看全部
  • obj intance Object 判断对象是不是数组,基于原型链来判断数据类型 左操作数是一个对象,当其不是对象的时候,直接返回false,右操作数是一个函数构造器,
    查看全部
  • 类型检测typeof
    查看全部
  • 类型检测
    查看全部
  • 隐式转换 字符串与数字之间的加号理解为字符串拼接 减号理解为运算
    查看全部
  • js的六种数据类型 特点一: "32"+32="3232" "32"-32=0 number string boolean null undefined object对象:function、array、Date
    查看全部
  • 实现继承的方式: 1、Student.prototype = new Person(); 2、Student.prototype = Object.create(Person.prototype); 推荐方法(ES5) Student.prototype.constructor = Student; 3、兼容性处理(没有Object.create()方法): if (!Object.create){ Object.create = function(proto){ function F(){} F.prototype = proto; return new F; } }
    查看全部
  • 1.instanceof左边一般是对象,右边是一个函数(构造器)。假如右边不是函数对象,会报错;假如左边不是对象,会直接返回false; 2.instanceof用来判断右边构造器的prototype属性是否出现在左边对象的原型链上; 3.从js的解释器层面来讲,instanceof是比对对象的,执行环境不同,构造器不同,instanceof方法失效(不同window和iframe之间的对象类型检测不能使用instanceof)。
    查看全部
    0 采集 收起 来源:instanceof

    2015-07-31

  • 1.修改类.prototype.属性时,会影响所有已经创建的实例,相当于修改静态变量; 但是直接修改类.prototype,赋值为新的对象时,并不会影响到已创建的实例,但是会对之后新创建的实例有影响。 2. 不允许遍历非本身的对象: //配置(configuarable)、枚举(enumerable)、可写(writable)这些属性都默认为false Object.definePrototype(Object.prototype, 'x',{writable:true, value: 1}); var obj = {}; for(var key in obj){ console.log('result' + key); } for(var key in obj){ //hasOwnProperty:判段某个属性是否属于本身的对象(可排除原型链上的属性干扰) if(obj,.hasOwnprototype(key)){ console.log('result' + key); } }
    查看全部
    1 采集 收起 来源:prototype属性

    2015-07-31

  • 1.var obj = {x: 1}; Object.getPrototypeOf(obj);//返回对象的原型 Object.getPrototypeOf(obj) === Object.prototype //true 2.var obj2 = Object.create(null); obj2.toString(); //undefined 并不是所有的对象的原型链上都有Object.prototype 3.function abc(){} abc.prototype;//abc{} var bined = abc.bind(null);//bind修改运行时的this bined.prototype;//undefined bind没有prototype属性
    查看全部
    0 采集 收起 来源:再谈原型链

    2015-07-31

  • function Person(name, age){ this.name = name; this.age = age; } Person.prototype.hi = function(){ console.log('Hi,My name is' + this.name + ',I am' + this.age + 'years old'); } Person.prototype.LEGS_NUM = 2; Person.prototype.walk = function(){ console.log(this.name + "is walking..."); } function Student(name, age, className){ Person.call(this, name, age); this.className = className; } //Object.create()创建一个空对象,并且这个对象的原型指向这个参数 Student.prototype = Object.create(Person.prototype); //将constructor指向Student本身 Student.prototype.constructor = Student; //覆盖父类的hi方法 Student.prototype.hi = function(){ console.log("Hi,my name is " + this.name + "I'm" + this.age + "years old now,and from" + this.className + "."); } Student.prototype.learn = funtion(){ console.log(this.name + " is learning" + subject + 'at' + this.className + '.'); } var bosn = new Student('Bosn', 28,'Class 3,Grade 2'); bosn.hi(); bosn.LEGS_NUM; bosn.walk(); bosn.learn('math');
    查看全部
    0 采集 收起 来源:概念与继承

    2018-03-22

举报

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

微信扫码,参与3人拼团

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

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