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

Posted SunLike阿理旺旺

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你不知道的javascript(中卷)笔记相关的知识,希望对你有一定的参考价值。

<!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(中卷)笔记的主要内容,如果未能解决你的问题,请参考以下文章

你不知道的JavaScript(中卷)pdf

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

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

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

《你不知道的JS(中卷)》关于this

《你不知道的JS(中卷①)》语法