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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
492人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 对象属性标签:wiritable(可写),enumeriable(可枚举),configurable(除了wiritable由true到false总是可以的,属性标签们是否可再被修改,可删除,可配置),value,get/set

    对象有属性,原型,class,extensible可扩展性

    https://img1.sycdn.imooc.com//5cd04bbc0001a7e411160608.jpg

    查看全部
  • 严格模式总结:向上兼容

    https://img1.sycdn.imooc.com//5ccfff0c0001db0310520455.jpg

    查看全部
  • 严格模式下:

    https://img1.sycdn.imooc.com//5ccffe9600019b5409740518.jpg

    https://img1.sycdn.imooc.com//5ccffed40001390f11070528.jpg


    查看全部
  • 严格模式:一种特殊的执行模式,修复了部分语言的不足,提供更强的错误检查,并增强安全性

    不能使用with,会报错

    不允许为声明的变量被赋值referencrError.

    arguments变为参数的静态副本,不影响参数值(arguments是浏览器传递给函数的隐式参数,用来封装实参,是个对象,另外还有this(函数的上下文对象)),但是由于共享这个特性,也是有例外的:如下图:

    https://img1.sycdn.imooc.com//5ccffcf40001b00510860274.jpg

    https://img1.sycdn.imooc.com//5ccff66800010a6f08020188.jpg


    https://img1.sycdn.imooc.com//5ccffd410001f28e09510489.jpg

    上图删除函数参数,非严格模式返回False,严格模式下报错

    https://img1.sycdn.imooc.com//5ccffdb50001518f10370552.jpg

    https://img1.sycdn.imooc.com//5ccffde900018ad610250517.jpghttps://img1.sycdn.imooc.com//5ccffe2200010a2210080526.jpg

    查看全部
  • with语句:js不推荐使用,而且严格模式下已经禁止使用

    https://img1.sycdn.imooc.com//5ccff5930001000208940442.jpg

    查看全部
  • switch语句:

    https://img1.sycdn.imooc.com//5ccff4d3000180ea10410561.jpg

    查看全部
  • for ...in 语句:

    注意;1.属性顺序不确定

            2.属性描述器的enumerable为false时,属性不会出现

            3.for in对象属性受原型链影响

    https://img1.sycdn.imooc.com//5ccff3d30001c01a02660155.jpg


    查看全部
  • function语句:函数声明(预先处理,函数前置),而函数表达式不是

    体现在函数调用上:

    https://img1.sycdn.imooc.com//5ccff3550001c3cd05360177.jpg

    查看全部
  • try catch嵌套

    异常会寻找最近的catch处理

    https://img1.sycdn.imooc.com//5ccff27b0001a4c806790388.jpg

    查看全部
  • try catch语句:三种形式,try catch,try finally,try catch finally;

    先执行try,错误就执行catch,true就忽略catch,finally是不管对错都执行。

    https://img1.sycdn.imooc.com//5ccfedfc0001e90c04570305.jpg

    https://img1.sycdn.imooc.com//5ccfefce0001e01a08280404.jpg

    查看全部

  • 块语句:没有块级作用域!有全局作用域,函数作用域,还有等等。。

    var 语句:var a=b=0;在函数中这么写,且调用函数,那么a为局部变量,b 为全局变量。var a=b=c=d=;a局部,b,c,d全局变量

    查看全部
  • https://img1.sycdn.imooc.com//5ccef2210001a56209720540.jpg1.delete obj.x//删除对象的属性

    但是下面的情况delete无效:

    var obj={};

    Object.defineProperty(obj,'x',{

    configurable:false,

    value:1

    });

    delete obj.x;//返回configurable的值false,删除无效,i还是1

    configurable标签的值为true的话才可以delete

    2.in 运算符

    window.x=1;

    'x' in window;//true判断对象中有无这个属性

    3.逗号运算符:var i=(0,9,3);//i=3;取最右边的 

    4.

    https://img1.sycdn.imooc.com//5ccefa7a0001671109480476.jpg5.this运算符

    6.void运算符

    特殊运算符

    https://img1.sycdn.imooc.com//5ccefc170001afe809890467.jpghttps://img1.sycdn.imooc.com//5ccefc570001320110340554.jpg

    查看全部
  • javascript 


    弱类型特性: 


    "32"+ 32 = 3232


    "32" - 32 = 0


    原始类型(5)  对象类型(1)


    number string boolean  null  undefined 

    object


    object :Function/Array/Date...


    “1.23” == 1.23 字符串转成数字类型


    null == undefined

    number == string 转number

    boolean == ? 转number

    object == number | string 尝试对象转化为基本类型


    查看全部
  • 查看全部
    1 采集 收起 来源:编程练习

    2019-05-04

  • sort()方法用于对数组的元素的排序。

    语法:arrayObject.sort(sortby)

    sortby:可选。规定排序顺序。必须是函数。

    返回值,对数组的引用,请注意,数组在原数组上进行排序,不生成副本。

          如果调用该方法时没有使用参数,将按字母排序对数组中的元素进行排序,说得精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应该把数组的元素转换成字符串(如果有必要),以便进行比较。如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序,比较函数应该具有两个参数a和b,其返回值如下:

    若a小于b,在排序后的数组中a应该出现在b之前,则返回一个小于0的值。

    若a等于b,则返回值0。

    若a大于b,则返回一个大于0的值。

    <!DOCTYPE html>

    <html>

    <head>

    <meta charset="utf-8">

    <title></title>

    </head>

    <body>

    </body>

    <script type="text/javascript">

    alert()

    var arr1 = new Array(6);

    arr1[0] = "George";

    arr1[1] = "John";

    arr1[2] = "Thomas";

    arr1[3] = "James";

    arr1[4] = "Adrew";

    arr1[5] = "Martin";

    document.write(arr1 + "<br />");

    document.write(arr1.sort() + "<br />");

    var arr2 = new Array(6);

    arr2[0] = "10";

    arr2[1] = "5";

    arr2[2] = "40";

    arr2[3] = "25";

    arr2[4] = "1000";

    arr2[5] = "1";

    document.write(arr2 + "<br />");

    document.write(arr2.sort() + "<br />");

    //上面的代码没有按照数值的大小对数字进行排序,要实现这一点,就必须使用一个排序函数:

    function sortNumber(a, b) {

    return a - b;

    var arr3= new Array(6);

    arr3[0] = "10";

    arr3[1] = "5";

    arr3[2] = "40";

    arr3[3] = "25";

    arr3[4] = "1000";

    arr3[5] = "1";

    document.write(arr3 + "<br />");

    document.write(arr3.sort(sortNumber)+ "<br />");

    </script>

    </html>



    查看全部
    1 采集 收起 来源:编程练习

    2019-05-04

举报

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

微信扫码,参与3人拼团

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

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