字面量
function宣告
function add()
add();
var賦值表示式
var add=function(argument);
add();
var add=function fn(argument)
add();
建構函式
new function(『num1』,『num2』,『return num1+num2;』);
add();
閉包:閉包是乙個擁有許多變數和繫結了這些變數的環境的表示式(通常是乙個函式)
變數作用域:
全域性變數
區域性變數
//閉包 全域性變數在函式內部可以訪問
var n=999;
function f1()
f1();
function f1()
f1();
alert(n);///n沒有定義
//js—》 在f1裡面 再定義乙個函式
例:function a()
return b;
}var c=a();
c();//1
閉包的優缺點
優點:有利於封裝,可以訪問區域性變數
缺點:記憶體占用浪費嚴重,記憶體洩漏
js字面式宣告物件
var obj =,…}
例:var person =
play:function(game)
}alert(person.name);
person.eat(「麵條」);
new操作符後跟object建構函式
var obj=new object();
obj.屬性=屬性值;
obj.屬性=屬性值;
obj.方法=function(str);
例:var box=new object();
box.name=「zhangsan」;
box.age=100;
box.infos=function(str)
alert(box.name);
var con=box.infos(「吃飯吶」);
alert(con);
js中構造方法宣告物件
function test([引數列表])
}var obj=new test(引數列表);
例:function』 person(name,***,age)
}var obj1=new person(「zhangsan」,「nan」,18);
alert(obj1.name);
obj1.show();
var obj2=new person(「lisi」,「nv」,20);
obj2.show();
js中工廠方式宣告物件
function createobject(name,age);
return obj;
}var box1=createobject(『zhangsan』,100);
var box2=createobject(『lisi』,200);
例:function createobject(name,age)
obj.say=function()
return obj;
}var box1=createobject(「zhangsan」,18);
alert(box1.name);
alert(box1.run());
var box2=createobject(「lisi」,20);
alert(box2.name);
alert(box2.say());
構造和工廠模式不同:
1.構造方式不會顯示建立物件,將屬性值給this,不需要return物件
2.工廠 在方法內部建立 object物件 ,返回object物件,屬性和方法都是賦給object物件
js中原型模式宣告物件
function test()
test.prototype.屬性=屬性值;
test.prototype.屬性=屬性值;
test.prototype.方法名稱=function()
var obj=new test();
//讓所有例項化的物件都擁有它包含的屬性及方法。
例1:function test(){}
//alert(test.prototype instanceof object);//自帶該物件 prototype是object子物件
test.prototype.color=「red」;
test.prototype.heighrs=「1.7」;
test.prototype.widths=「1.2」;
test.showinfo=function()
test.getinfo=function()
var car1 =new test();
alert(car1.color);
car1.showinfo();
car1.getinfo();
例2function test(){}
//json資料定義屬性和方法
test.prototype=
}var car1 =new test();
alert(car1.color);
car1.showinfo();
car1.getinfo();
js中混合模式宣告物件
function test(v1,v2,v3)
test.prototype.方法名稱=function()
var obj=new blog(v1,v2,v3);
例://混合模式:構造+原型
function blog(name,url,friend)
blog.prototype=,
get:function()
}var peo =new blog(「zhangsan」,「
alert(peo.name);
alert(peo.test);
peo.showinfo();
C語言函式的定義和宣告。
函式的定義 函式的定義就是函式體的實現。函式體就是乙個 塊,它在函式被呼叫時執行,與函式定義相反的是,函式宣告出現在函式被呼叫的地方。函式宣告向編譯器提供該函式的相關資訊,用於確保函式被正確的呼叫。那麼函式到底是如何定義的呢?請看下面的語法 型別 函式名 形式引數 塊最簡單的 function na...
JS的三種函式宣告
js有3種方法進行函式宣告。1 function語句型別函式宣告 function test1 函式的呼叫方式 test1 2 函式的直接量形式 var test2 function 函式的呼叫方式 test2 3 建構函式式 var test3 new function a b return a ...
js的三種函式宣告
方式一 function a e,f,h 方式二 var b function 方式三 var c new function a b c alert 我是方法c.a b c 函式的呼叫 1 按照引數列表的順序賦值如 a 1,2,3 2 var testb function 這樣的方式也是可以呼叫函式...