国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

原生JS中應該禁止出現的寫法

瀏覽:85日期:2024-03-28 18:12:51
塊級函數

嚴格模式下,在 ES6 之前應禁止使用。ES6 開始可以使用,函數的作用域為聲明該函數的塊內部。非嚴格模式下應禁止使用。

if(true) { function test() { //塊級函數console.log(1); }}test();直接修改對象的 prototype 原型

瀏覽器對原型進行了優化,在調用實例之前,會為對象的方法提前規劃內存位置。所以不可以直接修改 prototype 原型。以下兩種方法都應禁止使用

使用 Object.setPrototypeOf 修改原型

function a(){}a.prototype = { a_prop: 'a val'};function b(){}var proto = { b_prop: 'b val'};Object.setPrototypeOf( proto, a.prototype);b.prototype = proto;var test = new b;console.log(test.a_prop); // a valconsole.log(test.b_prop); // b val

直接修改對象的 __proto__ 屬性

function a(){}a.prototype = { a_prop: 'a val'};function b(){}var proto = { b_prop: 'b val', __proto__: a.prototype //直接修改 b 對象的 __prototype__ 屬性};b.prototype = proto;var test = new b;console.log(test.a_prop); // a valconsole.log(test.b_prop); // b valwith

with 的用法:

var a = { p1: 1, p2: 2}with (a) { p1 = 3;}console.log(a.p1);

應該禁止使用 with,例如:

function a(arg1, arg2) { with (arg2){ console.log(arg1); // 無法確定是要輸出第一個參數還是要輸出 arg2 的 arg1 屬性 }}var arg2 = {arg1:1}a('arg1', arg2)callee

arguments.callee 表示當前正在執行的函數:

function a(arg1) { if (arg1 > 1) {return arg1 * arguments.callee(arg1 - 1); } else {return 1; }}console.log(a(3)); // 6

當一個函數必須調用自身的時候, 應禁止使用arguments.callee(),直接通過函數名字調用該函數。

function a(arg1) { if (arg1 > 1) {return arg1 * a(arg1 - 1); // 直接通過函數名稱調用 } else {return 1; }}console.log(a(3)); // 6caller

caller 表示函數的調用者,應禁止使用,該特性不是標準的。

function a() { console.log(a.caller); // function b() { a(); }}function b() { a();}b();eval

eval() 可以把傳入的字符串參數當成JavaScript代碼執行。

eval('var a = 1, b = 2; console.log(a+b)'); // 3

禁止使用 eval。eval 比一般JavaScript執行要慢,因為瀏覽器對 javascript 進行了優化。eval 方法也不安全,因為它使用與調用者相同的權限執行代碼,而且 eval() 被調用時,它的作用域也會暴露。應該用 Function 代替:

var a = new Function('a', 'b', 'console.log(a+b)')a(1,2); // 3

以上就是原生JS中應該禁止出現的寫法的詳細內容,更多關于原生JS中應該禁止的寫法的資料請關注好吧啦網其它相關文章!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 国产亚洲精品自在久久77 | 在线综合亚洲欧美自拍 | 久草网站在线 | 欧美黄色网络 | 99久久精品免费看国产一区二区 | 亚洲国产精品自在现线让你爽 | 一区二区伦理 | 狠狠色噜噜狠狠狠米奇9999 | 亚洲天堂美女 | 狠狠色综合色综合网站久久 | 免费人成年短视频在线观看免费网站 | 影院亚洲 | 亚洲在线偷拍自拍 | 国内精品小视频在线 | 精品综合久久久久久99 | 日本高清www片 | 久cao在线观看视频 久爱免费观看在线网站 | 日本丶国产丶欧美色综合 | 中文字幕一区二区三区精彩视频 | 久久久久网站 | 欧美成年黄网站色高清视频 | 午夜一级毛片看看 | 欧美三级在线视频 | 国产精品九九久久一区hh | 黑人一级大毛片 | 久久久久日韩精品无 | 日韩免费观看一级毛片看看 | 国产精品久久久一区二区三区 | 精品在线一区二区 | 最新亚洲精品国自产在线 | 免费观看国产精品 | 国产成人精品视频午夜 | 亚洲成在 | 香蕉亚洲精品一区二区 | 九九视频免费精品视频免费 | 精品一区二区三区的国产在线观看 | 91精品一区国产高清在线 | 国产成人a大片大片在线播放 | 久久九九国产精品怡红院 | 美女张开腿让我 | 欧洲成人免费视频 |