持续更新ing…
-
javascirpt中的数字在计算机内存储为多少Byte?[ 8 Byte]
-
setTimeout(callback, delay, ...args)
-
第一个参数可以是一个包含javascript代码的字符串
var a = 1; setTimeout('console.log(a);a++;console.log(a);', 0)
- 注意:第一个参数为字符串时,本质是调用
eval
执行这个字符串。其作用域为window。
setTimeout('console.log(this);', 0) // window function f(){ var a = 10; setTimeout('console.log(a);', 0) } f() // undefined
- 注意:第一个参数为字符串时,本质是调用
-
第三个参数及以后的参数可以传到回调函数中
for(var i=0; i<2; i++){ setTimeout((_ii, _msg)=>{ console.log(_ii, _msg); }, 0, i, 'hello') } // 0 "hello" // 1 "hello"
-
var str1=new RegExp(“e”);
(1)document.write(str1.exec(“hello”)); 会将页面body
替换为<body>e</body>
(2)console.log(str1.exec(“hello”)); 会在控制台输出["e", index: 1, input: "hello", groups: undefined]
-
()
作为操作数时不能为空,否则会有SyntaxError
(typeof ()
:SyntaxError
) -
数字进制表达法
11 // 十进制 12 0b11 // 二进制 3 011 // 八进制 9 0x11 // 十六进制 17
-
后台设置cookie的响应头
Set-Cookie: 'cookie字符串'
-
执行1减去-1:
eval('1--1')
会出错,正确的写法是eval('1 - -1')
(数字与运算符间使用空格分割) -
坑(运算符优先级 . 比 = 优先级高)
var a = { n: 1 }; var b = a; a.x = a = { n: 2 }; console.log(a.x); // undefined console.log(b.x); // { n: 2 }
-
Number("") === 0
[] == ![]
结果为true