如何判斷函式是否是javascript內建的

admin發表於2017-03-15

javascript物件中的函式有內建的,例如string物件的replace()函式,當然也可以使用property屬性新增自定義的函式,下面就介紹一下一個給定的函式是否是內建的,希望能夠給需要的朋友帶來一定的幫助。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
var isNative=(function(){
  var s=(window.open+'').replace(/open/g,'');
  return function(object,method){
    var m=object?object[method]:false,r=new RegExp(method,'g');
    return !!(m&&typeof m!='string'&&s===(m+'').replace(r,''));
  };
})();
String.prototype.test=function(){}
console.log(isNative("String","replace"));
console.log(isNative("String","test"));

以上程式碼中,第一個會輸出true,第二個輸出false。


相關文章