V8实现了正则命名分组功能 说明 正则里面有了命名分组,那么匹配结果会多了一个groups 的属性,这个属性中包含了一切命名分组的捕获结果 示例 1. exec中使用 const RE_DATE = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/; const matchObj = RE_DATE.exec('2018-06-07'); const year = matchObj.groups.year; // 2018 const month = matchObj.groups.month; // 06 const day = matchObj.groups.day; // 07 2. test反向引用中使用 const RE_TWICE = /^(?<word>[a-z]+)!\k<word>$/; RE_TWICE.test('hello!hello'); // true...
发布于 6 years ago
290911
项目中使用vuejs, 随着页面越来越多,编译速度越来越慢,不得不提升一下,提升总结如下: babel-loader .开启cache module: { rules: [ { test: /\.js$/, loader: ['babel-loader?cacheDirectory=true'] }, // ... 其他loader ] } webpack 1. 开启cache module.exports = { cache: true, // ... 其他配置 } 2. 配置别名,让编译器更快找到相应的文件 resolve: { //... 其他配置 modules: [path.resolve(__dirname, '../../node_modules')], // node_modules文件夹所在的位置取决于跟webpack.base.conf.js相对的路径 alias: { //... 其...
发布于 6 years ago
35373
1. null,undefind的简介和区别分绍        undefined 表示根本不存在赋值     2. 相同点         . if条件中都被转为false                 console.log('undefined is false');// undefined is false                 console.log('null is false');// null is false     3. 不同点             undefined === null //false &...
发布于 6 years ago
23212
HTML 5的概念形成后,W3C开始考虑标准化XMLHttpRequest接口,该接口使得Javascript可以进行HTTP(S)通信。 目前新版本为XMLHttpRequest Level 2, 最近一次草案时间为2014年5月26日,第二版支持跨域请求 接口 Chrome,Firefox,Opera与Safari都使用XMLHttpRequest2对象 Internet Explorer使用XDomainRequest对象,与XMLHttpRequest相比有所不同 浏览器支持情况 Chrome 3+ Firefox 3.5+ Opera 12+ Safari 4+ Internet Explorer 8+ 实现方法之简单请求 其实现分为简单请求和非简单请求两类,非简单请求在发送真实请求前会先进行检测请求。 本方法暂只简单介绍简单请求,非简单请求暂不说明 简单请求只支持HEAD, GET, POST方法, 且...
发布于 9 years ago
4748204
html5 提供了跨文档消息传输(Cross Document Messaging),可利用其进行跨域请求 实现方法 如:www.a.com/a.html 请求 www.b.com/b.html 1. 在a.html中内嵌iframe,通过iframe向b.html 发送message, 并准备接收消息 <iframe src="http://b.com/b.html"></iframe> <script type="text/javascript"> window.onmessage = function( event ) { alert( event.data ); } var iframe = document.getElementsByTagName('iframe')[0]; iframe.onload = function() { iframe.contentWindow.postMess...
发布于 9 years ago
7737275
实现原理 利用script标签可以跨域访问js文件 实现方法 如 http://a.com/a.html 需要请求 b.com/b.html 1. 在a.html中定义个回调函数,通过script标签引入b.html <script> function jsonpCallback( data ) { console.log( data ); } </script> <script src="http://b.com/b.html"></script> 2. b.html返回上面的回调的调用 jsonpCallback({ name : 'hello', }); 备注  在使用过程中,每次请求需生成一个随机回调,通过uri请求发送给服务端,由其返回。 缺点 1. 同一数据源的重复请求,效率很低, 因为每次请求,uri中都有随机回调函...
发布于 9 years ago
41269
window.name a.html <script> window.name = 'this ia a '; location.href = 'b.html'; </script> b.html <script> console.log( window.name ); </script> 当从a.html 跳转到 b.html 后window.name的值仍然是a.html所设置的 通过window.name+iframe实现跨域请求 如http://www.a.com/a.html 访问 http://www.b.com/b.html中的window.name值 1. 在a.html中内嵌iframe,其src属性指向b.html 2. 更改iframe的src属性为"about:blank", 来实现iframe内跳转 3. 获取iframe.contentWindow.n...
发布于 9 years ago
30290
正常情况下JavaScript脚本受同源策略只能访问与其同一域下的资源。 什么是子域间请求 比如http://www.xx.com中的www为子域, 该域名与http://api.xx.com同主域下的不同子域,当你希望在www.xx.com中利用ajax向api.xx.com发送http请求时,称为子域间的请求。即使主域虽然相同,但仍属于不同的源,正常情况下是被禁止通信的。 iframe ajax在跨域情况下,请求会被浏览器拦截。但iframe却不会其特性如下: 访问同域页面,比如xx.html,可读写。 访问跨域页面,比如http://www.baidu.com/xx.html,只读。 document.domain 当前页面的源,即域名,其值可更改,但有一些限制,具体如下: 1. 只能往父、祖域设置,即当前域的一个后缀 2. 有端口时需注明端口号, 否则端口号被设置null 3. 需要通信的页面都...
发布于 9 years ago
29047