javascript 零碎知识点

持续更新ing…

  1. javascirpt中的数字在计算机内存储为多少Byte?[ 8 Byte]

  2. 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"
    
  1. 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]

  2. () 作为操作数时不能为空,否则会有 SyntaxErrortypeof ()SyntaxError

  3. 数字进制表达法

    11		// 十进制	12
    0b11	// 二进制	3
    011		// 八进制	9
    0x11	// 十六进制	17
    
  4. 后台设置cookie的响应头

    Set-Cookie: 'cookie字符串'
    
  5. 执行1减去-1:eval('1--1') 会出错,正确的写法是eval('1 - -1')(数字与运算符间使用空格分割)

  6. 坑(运算符优先级 . 比 = 优先级高

    var a = { n: 1 };
    var b = a;
    a.x = a = { n: 2 };
    
    console.log(a.x);	// undefined
    console.log(b.x);	// { n: 2 }
    
  7. Number("") === 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值