傳統方法
使用function
關鍵字,有名函式。
function sum(a, b)
函式表示式
使用function
關鍵字,匿名函式。
變數 = 表示式;
,所以推薦賦值運算子=
右側為表示式(函式表示式)時以;
結尾。
把函式表示式(的位址)儲存到變數中,變數可以當成函式名使用。
函式表示式無法函式提公升hoists
,故必須先宣告後使用。
var sum = function(a, b) ;
function構造方法
為效能考慮,在js中應盡量少使用new
關鍵字。
var sum = new function("a", "b", "return a + b;");
箭頭函式表示式(es6新增)
可省略function
關鍵字。
sum = (a, b) => ;
當引數只有乙個時,可以省略包圍引數列表的括號:
foo = a => ;
當無參時,不能省略括號:
foo = () => ;
函式體的大括號也可以省略(如果只有返回值)。
foo = x => x+6;
x=>x+6;
foo(5);
11;
es6支援函式引數帶有預設值。
function foo(a, b = 10)
js中無函式過載。但可利用arguments
實現。
arguments
是js的function
物件內部隱含的成員屬性,是實際傳入的引數列表。
可以用訪問陣列的方式訪問,如arguments[index]
。
arguments.length
為引數的實際傳入個數。
function printvartype()
console.log(text);
}printvartype(123, "asd", [1,2,3], );
輸出:
length: 4
argsindex value datatype
0 123 [object number]
1 asd [object string]
2 1,2,3 [object array]
3 [object object] [object object]
在瀏覽器的console
中宣告的函式,預設是全域性物件window
的成員(會自動新增)。
foo()
或window.foo()
作為成員方法
物件.foo();
作為構造方法
new foo();
應用:object.prototype.tostring.call(變數名)
可以返回變數型別。
[object ***x]
JS中物件的建立和使用
直接建立 先建立object類物件,再向物件新增成員。var person new object person.name jt person.print function 函式表示式 呼叫 person.print 以上過程可封裝,減少 冗餘 function getperson name 張三 p...
shell 建立和使用函式
入shell坑已經乙個多月了,發現這個還是挺有意思的,現在主要寫寫procedure orientedstyle的python,和一點點shell。爽的飛起,根本不想碰j a了,看的頭大。23333 使用shell寫乙個小函式還是非常簡單的,如同任何一門語言,寫hello world級別的函式總是簡...
js 中json的建立和獲取
json 是後天返回的資料型別 json xml json本身的資料型別 陣列型 物件型 json 單個建立 key value 物件型別 var stus console.log stus 取值的方式 console.log stus.name console.log stus job json ...