读《JavaScript 标准参考教程(alpha)阮一峰》(中)

12.js正则表达式有哪些操作方法?正则常用的修饰符?

test()
exec()
字符串对象的正则:
match()
search()
replace()
split()
正则常用的修饰符:g,i,m

13.谈谈下列js正则表达式的区别?贪婪模式和非贪婪模式?捕获组和非捕获组?先行断言和先行否定断言?

/^abc/   匹配以abc开头的字符
/[^abc]/ 表示除了a、b、c之外的所有其他字符。
/[^]/    相当于*通配符。
/a-z/    按照字面量匹配a-z字符,不表示范围。
/[a-z]/  匹配a到z之间的任意一个小写字母。
/[1-31]/ 匹配1到3而不是,1到31。

常见模式的简写方式的含义:

简写       等价于

\d        [0-9]
\D        [^0-9]
\w        [A-Zz-z0-9_]
\W        [^A-Zz-z0-9_]
\s        [\t\r\n\v\f]
\S        [^\t\r\n\v\f]
\b        匹配词的边界

非贪婪模式:*? 和 +?    默认贪婪!
非捕获组:?:  (表示不匹配该组返回的内容,即匹配结果中不包含该括号中的内容) 默认捕获!
先行断言:x(?=y) 表示x只有在y前面才匹配
先行否定断言:x(?!y) 表示x只有不在y前面才匹配

14.用一个正则表达式来获取 html 的标签名,标签属性,标签内容?

var html = <span class="active">正则测试</span>
答:
var tag = /<(\w+)([^>])>(.*?)(\/\1)/;
var match = tag.exec(html);
match[1];
match[2];
match[3];

15.谈谈 JSON 和 XML 的区别?JSON.Stringfy() 和 JSON.parse() 的作用?

16.浏览器的“开发者工具”,每个面板的作用?

这里写图片描述

17.new命令的原理是什么?

使用new命令时,后面的函数不是按照正常来执行。而是做4件事:

1、创建一个新的空对象;
2、将空对象的原型(_proto_)指向构造函数的prototype;
3、将该空对象赋值给构造函数内部的this;
4、执行构造函数内部代码。

18.函数的原生方法 call() 、apply() 和 bind()的用法和区别?

19.setTimeout(f,0)的含义和作用?函数f会立即执行吗?

这里写图片描述

setTimeout(f,0)有几个非常重要的用途:
1、调整事件的触发顺序;
2、让js代码分块执行,减轻性能压力...

20. javascript 严格模式(use strict;)和普通模式有哪些区别?为什么要设计出严格模式?

21.网页加载的过程是怎样的?js代码写在body底部的两个好处?

这里写图片描述

js代码写在body底部的两个好处:提高页面加载速度、防止js代码报一些不必要的错误。

22.说说<script>标签的 defer 属性和 async 属性的作用?使用场合?

有了defer属性,外部js文件的下载不会阻塞页面渲染。解析html的同时,并行下载带有defer的外部脚本文件。
asysc属性也可以防止“阻塞效应”。它是启用另一个进程下载外部脚本。

23.什么是重流和重绘?有哪些注意事项或者优化技巧?

这里写图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值