call,map,apply等 都可以叫js方法。

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、成都網(wǎng)站制作、高碑店網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、高碑店網(wǎng)絡(luò)營銷、高碑店企業(yè)策劃、高碑店品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供高碑店建站搭建服務(wù),24小時服務(wù)熱線:13518219792,官方網(wǎng)址:chinadenli.net
你說的這個比較寬泛。
其實(shí)簡單理解就是一個方法實(shí)現(xiàn)了一個功能,讓你用起來方便。
/*第一種方法,使用function語句,格式如下*/
function fn(){
alert("這是使用function語句進(jìn)行函數(shù)定義");
}
fn();
/*第二種方法,使用Function()構(gòu)造函數(shù)克隆函數(shù)*/
var F = new Function("a","b","alert(a+b)");
F(a,b);
其實(shí)相當(dāng)于如下代碼:
function F(a,b){
alert(a+b);
}
/*第三種方法,使用函數(shù)直接量*/
var zhenn = function(){
alert("zhenn");
}
zhenn();
Javascript對象定義的幾種方式
一.工廠方式:先創(chuàng)建對象,再向?qū)ο筇砑臃椒ê蛯傩裕忾]后調(diào)用不要使用new操作符創(chuàng)建對象。使用這種方法有很多弊端,把方法定義在工廠函數(shù)內(nèi)部的時候,每次調(diào)用的時候都會產(chǎn)生新的函數(shù)
function factory(name,person,address,time){
var tmp=new Object;
tmp.name=name;
tmp.person=person;
tmp.address=address;
tmp.workTime=function(){
alert("we start to work at" + time);
}
return tmp;
}
var factory1=factory("drugs",100,"huashan Rd",10);
var factory2=factory("TCMdrugs",100,"hongqiao Rd",11);
factory1.workTime();
factory2.workTime();//Here,factory1 and factory2 have different method
對這種問題雖然可以用下面的方式改進(jìn),但是缺乏很好的封裝性
function factory(name,person,address,time){
var tmp=new Object;
tmp.name=name;
tmp.person=person;
tmp.address=address;
tmp.workTime=workTime();
return tmp;
}
function workTime(){
alert("we start to work at" + this.time);
}
二,構(gòu)造函數(shù)方式,在構(gòu)造函數(shù)內(nèi)部不創(chuàng)建對象,使用this關(guān)鍵字,使用時候用new操作符,存在和工廠方式相同的問題,重復(fù)創(chuàng)建函數(shù)。
function counstruct(name,person,address,time){
this.name=name;
this.person=person;
this.address=address;
this.workTime=function(){
alert("we start to work at" + this.time);
};
}
三.原型方式:利用prototype屬性來實(shí)現(xiàn)屬性和方法,可以通過instanceof 檢查對象類型,解決了重復(fù)創(chuàng)建函數(shù)的問題,但不能通過傳遞參數(shù)初始化屬性
function Car(){
}
Car.prototype.color = "red";
Car.prototype.doors = 4;
Car.prototype.mpg = 23;
Car.prototype.showColor = function(){
alert(this.color);
};
var car1 = new Car();
var car2 = new Car();
但是如果遇到下面的情況,又出問題了
Car.prototype.drivers = new Array("mike", "sue");
car1.drivers.push("matt");
alert(car1.drivers); //outputs "mike,sue,matt"
alert(car2.drivers); //outputs "mike,sue,matt"
drivers是指向Array對象的指針,Car的兩個實(shí)例都指向同一個數(shù)組。
四.混合的構(gòu)造函數(shù)/原型方式:針對原型方式的解決方案
function Car(sColor, iDoors, iMpg){
this.color = sColor;
this.doors = iDoors;
this.mpg = iMpg;
this.drivers = new Array("mike", "sue");
}
Car.prototype.showColor = function (){
alert(this.color);
};
var car1 = new Car("red", 4, 23);
var car2 = new Car("blue", 3, 25);
car1.drivers.push("matt");
alert(car1.drivers);
alert(car2.drivers);
五.動態(tài)原型方式:這種方式是極力推薦的方式,避免了前面幾種方式所出現(xiàn)的問題,提供了更友好的編碼風(fēng)格
function Car(sColor, iDoors, iMpg){
this.color = sColor;
this.doors = iDoors;
this.mpg = iMpg;
this.drivers = new Array("mike", "sue");
if(typeof Car.initialized == "undefined"){
Car.prototype.showColor = function (){
alert(this.color);
};
Car.initialized = true;
}
}
var car1 = new Car("red", 4, 23);
var car2 = new Car("blue", 3, 25);
car1.drivers.push("matt");
alert(car1.drivers);
alert(car2.drivers);
六.混合工廠方式:和工廠方式有些相似,但采用new關(guān)鍵字實(shí)例化,具有和工廠方式相同的弊端,不推薦使用
有兩種方法:
方法一:在頁面的script中寫JS文檔;
script?type="text/javascript"?
//直接寫js
/script
方法二:引入外部的JS文檔,
script?type="text/javascript"?src="你的文檔地址"/script
備注:js文件最好的是防在頁面底部!在WEB頁面中,THML元素內(nèi),任何一個地方都可以寫JS。
還有種就是在HTML元素中直接寫js,我個人是不建議使用這種方式,在后面的維護(hù)是非常困難的,還不利于后期的查看,代碼不直觀!
當(dāng)前名稱:javascript方法,javascript方法和函數(shù)
鏈接分享:http://chinadenli.net/article8/dsgggop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、小程序開發(fā)、手機(jī)網(wǎng)站建設(shè)、定制開發(fā)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)