摘要:立即表達式,在中非常常見,采用立即表達式可以形成一個局部作用域,常配合閉包實現模塊化編程等其他用途,接下來我們看看,在大多數的框架中,立即表達式都有哪些寫法,以及需要注意的點,另外再介紹下操作符的用法通過小括號把函數聲明變成表達式,然后再外
立即表達式,在javascript中非常常見, 采用立即表達式可以形成一個局部作用域, 常配合閉包實現模塊化編程等其他用途,接下來我們看看,在大多數的框架中,立即表達式都有哪些寫法,以及需要注意的點,另外再介紹下in操作符的用法
1、 通過小括號把函數聲明變成表達式, 然后再外面加個小括號 就可以達到立即調用的效果
1 (function(){ 2 console.log( "ghostwu" ); 3 })();
2、!號 把函數聲明轉化成表達式,再調用
1 !function(){ 2 console.log( "ghostwu" ); 3 }();
3、+號 把函數聲明轉化成表達式,再調用
1 +function(){ 2 console.log( "ghostwu" ); 3 }();
4、-號 把函數聲明轉化成表達式,再調用
1 -function(){ 2 console.log( "ghostwu" ); 3 }();
5、波浪符 把函數聲明轉表達式,再調用
1 ~function(){ 2 console.log( "ghostwu" ); 3 }();
6、把調用寫在表達式里面
1 (function(){ 2 console.log( "ghostwu" ); 3 }());
使用立即表達式,需要注意的地方:
一、1被當做函數調用, 原因在與 沒有用分號 把語句隔斷,產生歧義
1 //報錯, 1被當做函數 1() 2 var n = 1 3 (function(){ console.log( "ghostwu" ) })() 1 var n = 1; 2 // (function(){ console.log( "ghostwu" ) })() 3 ;(function(){ console.log( "ghostwu" ) })()
上例為正確的做法
二、下面這種寫法,兩個立即表達式, 沒有用分號隔開,同樣產生歧義,報錯
1 (function(){ console.log("ghostwu1") })() 2 (function(){ console.log("ghostwu2") })()
正確的寫法:
1 ;(function(){ console.log("ghostwu1") })() 2 ;(function(){ console.log("ghostwu2") })()
小結:當使用立即表達式, 應該在他的前面加上分號, 在代碼壓縮的時候就不會出錯
in操作符: 判斷屬性是否在一個對象或者他的原型上
1 function CreateObj(){ 2 // this.name = "ghostwu"; //true 3 } 4 CreateObj.prototype.name = "ghostwu"; //true 5 var obj = new CreateObj(); 6 console.log( "name" in obj );
1 var myObj = { 2 age : 22 3 }; 4 console.log( "age" in myObj ); //true 5 console.log( "sex" in myObj ); //false
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/84799.html
摘要:如果沒有學習過計算機科學的程序員,當我們在處理一些問題時,比較熟悉的數據結構就是數組,數組無疑是一個很好的選擇。 幾種 JavaScript 動畫庫推薦 JavaScript 庫對設計師和開發人員來說,都是非常有用的工具。它們可以為你的網站添加一些超級強大的功能,給用戶帶來更好的體驗。 2017年8月前端開發者超實用干貨大合集 在過去的幾年當中,網絡上所流傳的各種設計和開發資源,在素質...
摘要:如果沒有學習過計算機科學的程序員,當我們在處理一些問題時,比較熟悉的數據結構就是數組,數組無疑是一個很好的選擇。 幾種 JavaScript 動畫庫推薦 JavaScript 庫對設計師和開發人員來說,都是非常有用的工具。它們可以為你的網站添加一些超級強大的功能,給用戶帶來更好的體驗。 2017年8月前端開發者超實用干貨大合集 在過去的幾年當中,網絡上所流傳的各種設計和開發資源,在素質...
摘要:我們通過表單驗證的功能,來逐步演進面向對象的方式對于剛剛接觸的朋友來說,如果要寫一個驗證用戶名,密碼,郵箱的功能,一般可能會這么寫表單驗證全局全局全局這種寫法,從功能上來說沒有什么問題,但是在團隊協作的時候,會造成覆蓋全局變量的問題,那要大 我們通過表單驗證的功能,來逐步演進面向對象的方式. 對于剛剛接觸javascript的朋友來說,如果要寫一個驗證用戶名,密碼,郵箱的功能, 一...
摘要:命名函數的賦值表達式另外一個特殊的情況是將命名函數賦值給一個變量。這是由于的命名處理所致,函數名在函數內總是可見的。當需要向回調函數傳遞參數時,可以創建一個匿名函數,在函數內執行真實的回調函數。 1.hasOwnProperty相關 為了判斷一個對象是否包含自定義屬性而不是原型鏈上的屬性,我們需要使用繼承自 Object.prototype 的 hasOwnProperty方法。has...
摘要:官方也宣布在停止對的維護。并且在很多面試過程中,面試官都會問與的區別。的版本,常被稱為,或簡稱。與部分地支持這種形式的語法。捕獲異常的語法由改為。在中,表示八進制字面量的方式只有一種,就是。已經支援新的模組。 前言 如果你是剛接觸 Python 的初學者,那你可能是直接學習 Python 3.x 版本。對于 Python 2.x 的版本是不會有所接觸。官方也宣布在 2020 停止對 P...
閱讀 1660·2021-11-12 10:35
閱讀 1611·2021-08-03 14:02
閱讀 2655·2019-08-30 15:55
閱讀 2024·2019-08-30 15:54
閱讀 735·2019-08-30 14:01
閱讀 2421·2019-08-29 17:07
閱讀 2246·2019-08-26 18:37
閱讀 3028·2019-08-26 16:51