最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS技巧之一行賦值語(yǔ)句能玩出多少花樣

 更新時(shí)間:2022年10月18日 11:49:13   作者:w2sfot  
很多前端只會(huì)謝謝頁(yè)面,一讓他們接觸js,就非常害怕,下面這篇文章主要給大家介紹了關(guān)于JS技巧之一行賦值語(yǔ)句能玩出多少花樣的相關(guān)資料,需要的朋友可以參考下

前言

今天,來(lái)做個(gè)測(cè)試,看看一行簡(jiǎn)單的JS賦值語(yǔ)句,有多少種寫法。

測(cè)試語(yǔ)句,僅三行:

var a=1;
a=2;
console.log(a);

針對(duì)第二行a=2賦值,看能變多少花樣。

第一種變化、寫入到自執(zhí)行函數(shù)中:

var a=1;
(function(){
a=2;
})();
console.log(a);

第二種變化、用eval執(zhí)行:

var a=1;
eval(a=2);
console.log(a);

這兩種,都比較初級(jí),小白等級(jí)的程序員也能輕松看懂。

接下來(lái),提升一些難度。

第三種變化、變形的eval執(zhí)行:

對(duì)eval中的賦值語(yǔ)句,進(jìn)行一些變化。

var a=1;
var b=["a","=",2];
eval(b[0]+b[1]+b[2]);
console.log(a);

但eval,似乎也就能玩到這個(gè)水準(zhǔn)。下面再展示些難度更高的。

第四種變化、利用構(gòu)造函數(shù):

var a=1;
[].constructor.constructor(a=2);
console.log(a);

或:

var a=1;
[].constructor.constructor(a=2)();
console.log(a);

第五種變化、構(gòu)造函數(shù)再升級(jí):

var a=1;
var b=["a","=",2];
[].constructor.constructor(b[0]+b[1]+b[2])();
console.log(a);

如同eval執(zhí)行內(nèi)容變化一樣,對(duì)構(gòu)造執(zhí)行代碼也用數(shù)組內(nèi)容拼接的方式進(jìn)行變形:

第六種變化、構(gòu)造函數(shù)變形:

將構(gòu)造字符也放入數(shù)組中:

var a=1;
var b=["a","=",2,"constructor"];
[][b[3]][b[3]](b[0]+b[1]+b[2])();
console.log(a);

第七種變化、混淆加密:

將上面的JS代碼用JShaman進(jìn)行混淆加密:

得么混淆加密的JS代碼,這時(shí)數(shù)值也被加密:

/*Obfuscated by JShaman.com*/
var a=0x2c0f8^0x2c0f9;
var b=['a','=',0xe3b2c^0xe3b2e,'constructor'];
[][b[0xa8ddf^0xa8ddc]][b[0xb3a35^0xb3a36]](b[0x3333f^0x3333f]+b[0x84d18^0x84d19]+b[0x50958^0x5095a])();
console['log'](a);

玩這些花樣有什么用處嗎?

當(dāng)然是有的,最后得到的代碼,完全看不出是在執(zhí)行a=2,賦值操作被隱藏了:

當(dāng)需要對(duì)代碼進(jìn)行加密,防止被他人任意閱讀時(shí),這是很有用的方法。

你還有什么新奇的寫法嗎,歡迎探討交流。

總結(jié)

到此這篇關(guān)于JS技巧之一行賦值語(yǔ)句能玩出多少花樣的文章就介紹到這了,更多相關(guān)JS賦值語(yǔ)句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 微信小程序自定義聯(lián)系人彈窗

    微信小程序自定義聯(lián)系人彈窗

    這篇文章主要為大家詳細(xì)介紹了微信小程序自定義聯(lián)系人彈窗,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • JavaScript+Canvas實(shí)現(xiàn)酷炫的粒子和流星效果

    JavaScript+Canvas實(shí)現(xiàn)酷炫的粒子和流星效果

    這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript和Canvas實(shí)現(xiàn)酷炫的粒子和流星動(dòng)畫效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-01-01
  • JSP跨iframe如何傳遞參數(shù)實(shí)現(xiàn)代碼

    JSP跨iframe如何傳遞參數(shù)實(shí)現(xiàn)代碼

    表單與操作頁(yè)面分離,按鈕按下,click 或者onclick事件觸發(fā),傳遞一個(gè)唯一性的參數(shù)至子頁(yè)面JSP,感興趣的朋友可以了解下
    2013-09-09
  • 今天是星期幾的4種JS代碼寫法

    今天是星期幾的4種JS代碼寫法

    這篇文章介紹了今天是星期幾的4種JS代碼寫法,有需要的朋友可以參考一下
    2013-09-09
  • javascript溫習(xí)的一些筆記 基礎(chǔ)常用知識(shí)小結(jié)

    javascript溫習(xí)的一些筆記 基礎(chǔ)常用知識(shí)小結(jié)

    在電腦上找到多年前的javascript的一些小筆記,因?yàn)橐獙⒐P記本上面的文件整理一下, 不用的刪除掉, 所以將此篇筆記再發(fā)布一下,存檔到自己的博客吧, 電腦上的文件就刪除了
    2011-06-06
  • JS實(shí)現(xiàn)上傳文件顯示進(jìn)度條

    JS實(shí)現(xiàn)上傳文件顯示進(jìn)度條

    這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)上傳文件顯示進(jìn)度條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 淺談JavaScript中內(nèi)存泄漏的幾種情況

    淺談JavaScript中內(nèi)存泄漏的幾種情況

    本文主要介紹了淺談JavaScript中內(nèi)存泄漏的幾種情況,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • TypeScript判斷對(duì)象類型的4種方式代碼

    TypeScript判斷對(duì)象類型的4種方式代碼

    這篇文章主要給大家介紹了關(guān)于TypeScript判斷對(duì)象類型的4種方式代碼,TypeScript能根據(jù)一些簡(jiǎn)單的規(guī)則推斷(檢查)變量的類型,你可以通過(guò)實(shí)踐很快的了解它們,需要的朋友可以參考下
    2023-07-07
  • javascript貪吃蛇完整版(源碼)

    javascript貪吃蛇完整版(源碼)

    這篇文章主要是對(duì)javascript貪吃蛇完整版(源碼)進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2013-12-12
  • layui 實(shí)現(xiàn)table翻頁(yè)滾動(dòng)條位置保持不變的例子

    layui 實(shí)現(xiàn)table翻頁(yè)滾動(dòng)條位置保持不變的例子

    今天小編就為大家分享一篇layui 實(shí)現(xiàn)table翻頁(yè)滾動(dòng)條位置保持不變的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09

最新評(píng)論

尉犁县| 郸城县| 云南省| 乐昌市| 海兴县| 万安县| 罗源县| 丽江市| 博兴县| 汝州市| 巨野县| 苍溪县| 马关县| 澄迈县| 百色市| 石城县| 霞浦县| 福海县| 金阳县| 汝州市| 珲春市| 中宁县| 饶平县| 阿城市| 台山市| 山西省| 全椒县| 屏东县| 老河口市| 九江县| 固原市| 石门县| 怀柔区| 赣州市| 红原县| 西贡区| 陈巴尔虎旗| 盐边县| 武功县| 泰安市| 上高县|