js术语扫盲贴:XHR、RegExp、call-apply、prototype

(1) XHR:xml httprequest
XHR注入:XHR 注入技术是通过XMLHttpRest来获取javascript的。但与eval不同的是,该机制是通过创建一个script的DOM元素,然后把XMLHttpRequest的响应注入script中来执行javascript的。在某些情况下使用eval可能比这样机制慢。XHR injection 通过XMLHttpRequest获取的内容必须部署在和主页相同的域中。

(2) RegExp:正则表达式

<script>
    var reg=new RegExp("这里写正则表达式");
     if(reg.test(varname)){.... }
</script>

eg:

var reg =/^[(]?0d{2,3}[)-]?d{7,8}|d{11}$/;//这里是匹配联系方式的正则表达式(我写的,也不一定正确)
if (!reg.test("0370-3315963")){
   return;
}

(3) call/apply作用都是把一个函数绑定到一个对象上去运行,巨头格式:
call( thisArg [,arg1,arg2,… ] ); // 参数列表,arg1,arg2,...
apply(thisArg [,argArray] ); // 参数数组,argArray

(4) prototype:javascript中的每个对象都有prototype属性,Javascript中对象的prototype属性的解释是:返回对象类型原型的引用。
A.prototype = new B();

理解prototype不应把它和继承混淆。A的prototype为B的一个实例,可以理解A将B中的方法和属性全部克隆了一遍。A能使用B的方法和属性。这里强调的是克隆而不是继承。可以出现这种情况:A的prototype是B的实例,同时B的prototype也是A的实例。

http://blog.163.com/xinarila121_milnln/blog/static/232347159201412451335344/

原文地址:https://www.cnblogs.com/softidea/p/7126235.html