<!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: 外部引用,第几个括号的内容 -->
时间: 2024-10-05 04:19:21