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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
492人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • var a="string" alert(a.length);//6 a.t=3; alert(a.t)//undefined
    查看全部
  • 基本对象、包装对象 str 是基本类型 strObj是对象类型 是string类型对应的包装类
    查看全部
  • + 链接 巧用+ / - 规则转换类型 num-0 num+" == 比较的时候会尝试隐式转换 null==undefined number==string 转number === 首先判断类型 NaN≠NaN new Object≠new Object
    查看全部
  • 判断原始类型用typeof遇到Null失效 判断对象类型用instanceof 基于原型链 xxx.prototype.tostring()遇到null和undefined失效 不同window和不同iframe是不能使用instanceof
    查看全部
  • JS的隐式转换 NaN!=NaN new Object!=new Object null==undefined相等 number==string 转number boolean==?转换为Number object==number|string转换为基本类型
    查看全部
  • JS中的数据类型: 原始类型:number/string/boolean/null/undfined 另一种:object:Function Array Date...
    查看全部
  • 全局this===window 严重模式?use strict
    查看全部
    0 采集 收起 来源:[JavaScript]this

    2015-07-12

  • JavaScript的函数创建与方式
    查看全部
  • 函数创建方式的区别
    查看全部
  • /***使用***/ /正则表达式/ 或 new RegExp("正则表达式") /***基本元素***/ . 任意字符(除换行符) \d 数字(0-9) \D 非\d \w 数字(0-9)or字母a-z(包括大小写)or下划线 \W 非\w \s 空格符,TAB,换行符,换页符 \S 非\S \t \r \n \v \f tab 回车 换行 垂直制表符 换页符 /***限制条件***/ [...] 字符范围以内 [^...] 字符范围以外 ^ 行首(匹配位置必须在行首)//^la $ 行尾 //la$ \b 零边界(例:\bla (o lapa)为true,(olapa)为false) \B 非\b /***特殊转移符***/ \ \后面的第一个字符会当成普通的文本字符 /***分组***/ (...) 一个分组 \n n是数字,配合()使用,表示第n个分组的内容,\0表示整个表达式 (?:...) 有?:的分组表示不记录在\n时会被忽略 /***重复***/ 贪婪算法(匹配尽可能多次) x* *前字符重复>=0次 x+ *前字符重复>0次 非贪婪算法(匹配尽可能少次) x*? 同x* x+? 同x+ x? 出现0 or 1次 x/y x或者y x{n}x{n,}x{n,m} 重复 n >=n >=n而<=m 次 /***3个flag***/ global 匹配所有,不使用匹配到第一个就会停 ignoreCase 不区分大小写 multiline 按行检索 例:/bulabula/gim RegExp("bulabula","gim") /***正则属性和方法***/ /.../.global /.../.ignoreCase /.../.multiline /.../.source //正则内容 /.../.exec('字符串'); //返还正则在字符串中匹配到的字符 /.../.test('字符串'); //正则在字符串中是否匹配成功 /.../.toString(); //返还正则表达式 x.compole("y") //将x中的正则替换为y
    查看全部
  • 先实现原型链继承,再扩展。 function inherit (subClass, superClass) {subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass;} Object.freeze(); //prevent from being altered
    查看全部
  • Student.prototype = Person.prototype; This is wrong!!! Student.prototype = Object.create(Person.prototype); if (!Object.create) { Object.create = function (proto) {function F(){}; F.prototype = proto; return new F}; }
    查看全部
  • instanceof右边必须是函数对象,根据左边对象的原型链查找,是否有右边的函数对象,有就返回false 可以使用 类.prototype.constructor来修改类的构造函数,默认情况下为同类名的函数
    查看全部
    0 采集 收起 来源:instanceof

    2015-07-11

  • 动态修改prototype 的 属性 时,会影响 已创建 或 新创建 的 所有 实例 把 prototype 赋值为另外一个对象,已创建的实例不会有所改变,但会影响后续创建的实例 需要for-in时不枚举自己添加的属性,可使用 defineProperty(Object.prototype,"x",{writable:true,value:1}); 此时 enumerable 为 false.
    查看全部
    0 采集 收起 来源:prototype属性

    2018-03-22

  • Student.prototype = Object.creat(Person.prototype); Student.prototype.constructor = Studnet;
    查看全部
    0 采集 收起 来源:概念与继承

    2015-07-11

举报

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

微信扫码,参与3人拼团

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

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