你不知道的javascript(中卷)笔记

SunLike阿理旺旺 SunLike阿理旺旺     2022-09-15     582

关键词:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>你不知道的javascript(中卷)</title>
</head>

<body>
    <script type="text/javascript">
    /*
         //封装对象包装
         var a = new Boolean(false);
         if(!a){
         	console.log("!a 为true")//没有输出,因为不会执行道这里,new 的a为一个对象不是布尔值,所以!a都是false
         }
         else{
         	console.log("!a 为false"); //
         }
          //封装对象拆装
    	    var s1 = new String("abc");
    	    var s2 = s1+"";
    	    console.log(typeof(s1));// object
    	    console.log(typeof(s2));// string
         */



    /*
    //new的字符和tostring的串比较
    var  s1 = new String("Hello world!");
    var s2  = s1.toString();

     console.log(s1==s2);  //true 只比较值
     console.log(s1===s2); // false 比较两个对象是否完全一致,当指向通一个对象的时候为true‘*/


    /*赋值与引用
    var a = 1;
    var b = a;
    a++;
    console.log(a);//2
    console.log(b);//1

    var arr = [1,2,3];
    var  arr1 = arr;
    arr.push(4);

    console.log(arr);//[1,2,3,4]
    console.log(arr1);//[1,2,3,4]
    //静态的变量是通过值来传递的,可变的对象是通过引用来传递的,*/

    /*
    //js数值类型
    //js 数值类型,没有真正意义的整形,
    console.log(43===43.0); //true
    var a = 323.32323;
    console.log(a.toFixed(2)) // 保留两位小数
    console.log(a.toPrecision(2))////保留两位有效数字
    console.log(43..toFixed(3));// 第一个.是数值的小数点
    console.log(parseInt(1.2)); //直接取整数部分
    console.log(parseInt(1.5));
    console.log(parseInt(1.6));
    console.log(Number.isInteger(43.0))//true
    */


    /* 
       //数组和字符串的区别
        var a = "abc";
        a[0] = "z";
        console.log(a); //abc
        var b = ["a","b","c"];
        b[0] = "z";
        console.log(b); //["z","b","c"]
        console.log(a.charAt(0));
        //数组可以通过下标修改改下标对应的值,但是字符串不可以
        */

    /*
    var a ;
         console.log(a);//undefined
         */
    /*

     //闭包
     function  foo(){
        var a = 2;
        function bar(){
        	  console.log(a)
        }
        return bar;
     }
     var baz = foo();
     console.log(baz);
     //baz();
     */

    /*
    	//正则
    	var str = ‘width : 100px ;‘;// width: r(100px);
		var reg = /(w+)(s*)(?::)2(d+(?:px))2;$/;    
		console.log(str.replace(reg,"$1:r($3);"));*/
    /*var s = "二个如果43543gergreg";
    var reg = /^[u4e00-u9fa5]$/;
    console.log(s.match(s,"u4e00-u9fa5"));
    */
    </script>
</body>

</html>
<!-- 
    1,2: 内部引用,第几个括号的内容
    $1,$2: 外部引用,第几个括号的内容



 -->

  

你不知道的javascript(中卷)pdf

...sp; 内容简介  · · · · · ·JavaScript这门语言简单易用,很容易上手,但其语言机制复杂微妙,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解。本套书直面当前JavaScript开... 查看详情

《你不知道的javascript[中卷]》13——程序性能

                                 &n 查看详情

《你不知道的javascript[中卷]》——类型&值

                  类型定义了值的行为特征             &nb 查看详情

《你不知道的javascript[中卷]》12——生成器

     双向消息系统:     应该是花了很长的篇幅来举例交替执行——-->有点像coding的regularexpression那后面应该会有更牛逼的语法糖出来?        &nbs 查看详情

《你不知道的js(中卷)》对象(代码片段)

三、对象:一)、语法:对象有两种形式定义:声明(文字)形式:varmyObj=key:value//...;构造形式:varmyObj=newObject();myObj.key=value;在声明形式中可以添加多个键/值对,但是在构造形式中必须逐个添加属性。1、类型:? 对象是JS的基... 查看详情

《你不知道的js(中卷)》关于this(代码片段)

一、关于this:一)、为什么要用this?functionidentity() returnthis.name.toUpperCase();varme= name:"Kyle";varyou= name:"Reader";identity.call(me);//Kyleidentity.call(you);//Reader? 观察上面的代码,使 查看详情

《你不知道的js(中卷)》行为委托(代码片段)

六、行为委托:? 总结第五章,JS中的[[Prototype]]机制就是对象之间的关联关系。一)、面向委托的设计:? 想要学习更直观的使用[[Prototype]],必须认识到它代表了一种不同于类的设计模式。1、类理论:? 类设计模式鼓励你在继承时... 查看详情

《你不知道的js(中卷①)》语法(代码片段)

五、语法:? 语法(grammar)与词法(syntax)不同。后者强调语言的运算符、关键字等。而语法定义了此法规则是如何构成可运行的程序代码的。一)、语句和表达式:语句(statement)与表达式(expression),举例说明:vara=3*6;a=3*6... 查看详情

《你不知道的js(中卷)》混合对象“类”(代码片段)

四、混合对象“类”:? 在研究类的具体机制之前,首先介绍面向类的设计模式:实例化(instantiation)、继承(inheritance)和(相对)多态(polymorphism)。一)、类理论:? 面向对象编程强调的是数据和操作数据的行为本质上是... 查看详情

你不知道的javascript(上卷卷)笔记

<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>你不知道的javascript(上卷)</title></head><body></body></html>   查看详情

你不知道的javascript笔记

类型:JavaScript有7种内置类型空值(null)未定义(undefined)布尔值(boolean)数字(number)字符串(string)对象(object)符号(symbol)   除对象以外,其他统称为“基本类型” 用typeof运算符来查看值的类型typeofundefined ==="undefi... 查看详情

你不知道的javascript笔记

...算符则相当于标点符号和连接词。          JavaScript中表达式可以返回一个结果值。            vara=3*6;            varb=a;              b; &nbs 查看详情

你不知道的javascript中,读书笔记

七种内置类型null,undefined,boolean,number,string,object,symboltypeofnull===‘object‘//truenull是typeof是object的唯一的假值typeoffunction会返回‘function‘使用typeofx!==‘undefined‘比直接判断x更加安全,因为不会引发referenceerror 查看详情

你不知道的javascript笔记

this和对象原型this是一个很特别的关键字,被自动定义在所有函数的作用域中//foo.count是0,字面理解是错误的    functionfoo(num){        console.log("foo:"+num);    &n 查看详情

你不知道的javascript(上卷)读书笔记之一----作用域

你不知道的Javascript(上卷)这本书在我看来是一本还不错的书籍,这本书用比较简洁的语言来描述Js的那些”坑”,在这里写一些博客记录一下笔记以便消化吸收。1编译原理在此书中,开始便提出:Javascript是一门编译型语言,我... 查看详情

你不知道的javascript笔记

规避冲突functionfoo(){functionbar(a){i=3;console.log(a+i);}for(vari=0;i<10;i++){bar(i*2)}} //11无限死循环 区分函数声明和函数表达式最简单的方法是看function关键字出现的位置,如果function是声明中的第一个词,那么是函数声明,否则是... 查看详情

你不知道的javascript--上卷--读书笔记1

作用域是什么?  答:在《你不知道的javascript》书中提到,作用域就是根据名称查找变量的一套规则。古语有“无规矩不成方圆”,但是没有方圆,规矩又给谁用?所以个人理解作用域就是“规矩”+”方圆“。作用域是在创... 查看详情

《你不知道的javascript》三卷读后感

  本系列的作者是Kyle Simpson,上卷译者赵望野、梁杰,中卷译者单业,下卷译者单业、姜南。  我个人觉得第一卷是本系列最好的(必读),而第二卷虽然也讲解了很多知识点,但是对于异步和性能的那部分提及了信任问... 查看详情