javascript function的多種用法詳解
由於設計原因,javascript的function可以充當多種角色。
比如可以作為建構函式,也可以作為物件中的方法,也可以作為一個普通獨立的函式,並且我們還可以以匿名的方式使用它們,下面就通過簡單的程式碼片段對此做一下簡單介紹,需要的朋友可以做一下參考。
一.用作建構函式:
雖然javascript可以說是一門物件導向的語言,但是它並沒有class類這個概念。
於是我們就可以使用function來充當這一角色,程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼function Antzone(webName,url){ this.webName=webName; this.url=url; } var antzone=new Antzone("螞蟻部落","softwhy.com"); console.log(antzone.webName);
在上面的程式碼中,function已經承擔了C#這樣典型面嚮物件語言中Class類的角色。
二.用作物件的方法:
一個依附於物件的函式,也就是說它是物件的一個成員,我們通常稱之為方法。下面修改一下上面的程式碼例項:
[JavaScript] 純文字檢視 複製程式碼function Antzone(webName,url){ this.webName=webName; this.url=url; this.show=function(){ console.log(this.webName); } } var antzone=new Antzone("螞蟻部落","softwhy.com"); antzone.show;
上面的程式碼中show就是屬於物件的一個方法。
三.用作一個獨立的函式:
也就是它作為一個獨立的功能模組,並不隸屬於任何物件。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼function done(a,b){ var num=a+b; return num; } console.log(done(1,2));
上面的函式實現了簡單了算數運算功能,它是一個獨立的功能模組。
四.匿名函式的使用:
[JavaScript] 純文字檢視 複製程式碼// 全域性名稱空間 var RUI = {} // ajax.js ~function(R) { // 輔助函式... ajax = { request: function() { // ... } getJSON: function() { // ... } ... } // 暴露出模組給 R R.ajax = ajax }(RUI);
匿名函式執行後把API物件暴露給了RUI,無論匿名函式內做了多少操作,匿名函式外是看不到的,也是沒有必要去理會的。最終關心的是公開的 API 方法,只要瞭解這些方法的引數及意義就可以馬上使
相關文章
- Django model select的各種用法詳解Django
- Selenium用法詳解 -- Selenium3 自動化測試 frame多種用法舉例
- reduce() 多種用法
- Java 列舉(enum) 詳解7種常見的用法Java
- Mysql關於procedure、function的詳解MySqlFunction
- JavaScript中的 FunctionJavaScriptFunction
- axios的用法詳解iOS
- (function($,window,document){.......})用法Function
- JavaScript FunctionJavaScriptFunction
- javascript 中function(){},new function(),new Function(),Function 摘錄JavaScriptFunction
- 資料庫Delete的多種用法資料庫delete
- struct的匿名用法詳解Struct
- std::function用法學習Function
- JavaScript Function物件JavaScriptFunction物件
- StringTie用法詳解
- JSONP用法詳解JSON
- extern用法詳解
- iconfont用法詳解
- Metasploit用法詳解
- css詳解position五種屬性用法及其含義CSS
- JavaScript建立物件的多種方法JavaScript物件
- Object.defineProperty的用法詳解Object
- Function.prototype.call.apply作用詳解FunctionAPP
- MultiItem用法與詳解-優雅的實現多型別RecyclerView Adapter多型型別ViewAPT
- JavaScript中的this詳解JavaScript
- 解鎖多種JavaScript陣列去重姿勢JavaScript陣列
- Flutter ListView 用法詳解FlutterView
- Elasticsearch SQL用法詳解ElasticsearchSQL
- git stash用法詳解Git
- SVG <markers>用法詳解SVG
- Promise用法詳解(一)Promise
- Python self用法詳解Python
- Generator用法詳解+co
- MyBatis Generator 用法詳解MyBatis
- JavaScript function 函式JavaScriptFunction函式
- JavaScript this詳解JavaScript
- java高階用法之:JNA中的FunctionJavaFunction
- C# 之 static的用法詳解C#
- MySQL中BETWEEN子句的用法詳解MySql