① js怎麼調用function中的function
// 1, 方法調用模式 <br>// 當一個函數被保存為對象的一個屬性時,我們稱之它為該對象的一個方法,那麼this被綁定到該對象上 <br>var myObject={ <br>name : "myObject" , <br>value : 0 , <br>increment : function(num){ <br>this.value += typeof(num) === 'number' ? num : 0; <br>return this; <br>} , <br>toString : function(){ <br>return '[Object:' + this.name + ' {value:' + this.value + '}]'; <br>} <br>} <br>alert(myObject.increment(10).increment(20).toString()); // [Object:myObject {value:30}] <br><br>// 2, 函數調用模式 <br>// 當一個函數並非一個對象的函數時,那麼它被當作一個函數來調用,this被綁定到全局對象上。這是語言設計的一個錯誤。倘若語言設計正確,當內部函數調用時,this應該仍然綁定到外部函數的this變數上 <br>var myObject={ <br>name : "myObject" , <br>value : 0 , <br>increment : function(num){ <br>this.value += typeof(num) === 'number' ? num : 0; <br>return this; <br>} , <br>toString : function(){ <br>return '[Object:' + this.name + ' {value:' + this.value + '}]'; <br>}, <br>getInfo: function(){ <br>var self=this; <br>return (function(){ <br>//return this.toString(); // 內部匿名函數中this指向了全局對象window, 輸出 [object Window] <br>return self.toString(); // 定義一個變數selft並給它賦值為this,那麼內部函數通過該變數訪問到指向該對象的this <br>})(); <br>} <br>} <br>alert(myObject.increment(10).increment(20).toString()); // [Object:myObject {value:30}] <br><br>// 3, 構造器調用模式 <br>// JavaScript是一門基於原型繼承的語言, 這意味著對象可以直接從其他對象繼承屬性, 該語言是無類別的。 <br>// 如果一個函數前面帶上new來調用,那麼將創建一個隱藏連接到該函數的prototype成員的新對象,同時this將會被綁定到構造函數的實例上。 <br>function MyObject(name){ <br>this.name = name || 'MyObject'; <br>this.value=0; <br>this.increment = function(num){ <br>this.value += typeof(num) === 'number' ? num : 0; <br>}; <br>this.toString = function(){ <br>return '[Object:' + this.name + ' {value:' + this.value + '}]'; <br>} <br>this.target = this; <br>}
② javascript中怎麼調用js方法
1、引用js文件,路徑一定要對
比如
<scriptsrc="js/hello.js"></script>
2、通過function名調用js中的方法,
比如
<script>hello(參數1,參數2)</script>
③ js怎麼自己調用自己
1、打開HBuilder工具,在對應的Web項目中,新建JavaScript文件func.js。
④ html怎麼調用js裡面的東西,例如js裡面的函數
1、引入js文件
2、直接調用js中的函數
示例:
1、js文件定義
functionf1(){//js中的函數
}
2、引入js文件
<scriptsrc="js文件路徑"></script>
3、html函數調用
<script>
f1();//調用js的函數
</script>
⑤ js中調用其他方法
b方法還是改名字吧,和變數b重復了,js本來就是弱類型的語言,你可以這樣實現
這是html
<a href="javascript:void(0)" data-fn="b" onclick="newFun(this)">1111</a>
這是js
function newFun(e) {
var b = $(e).attr("data-fn");
alert(b)
b1();
//此處如何調用 [b] 方法?
}
function b1(){
alert(2)
}
⑥ js方法調用
JS函數的定義與調用方法
JS函數調用的四種方法:方法調用模式,函數調用模式,構造器調用模式,apply,call調用模式
1.方法調用模式:
先定義一個對象,然後在對象的屬性中定義方法,通過myobject.property來執行方法,this即指當前的myobject
對象。
var blogInfo={
blogId:123,
blogName:"werwr",
showBlog:function(){alert(this.blogId);}
};
blogInfo.showBlog();
2.函數調用模式
定義一個函數,設置一個變數名保存函數,這時this指向到window對象。
var myfunc = function(a,b){
return a+b;
}
alert(myfunc(3,4));
3.構造器調用模式
定義一個函數對象,在對象中定義屬性,在其原型對象中定義方法。在使用prototype的方法時,必須實例化該對象才能調用其方法。
var myfunc = function(a){
this.a = a;
};
myfunc.prototype = {
show:function(){alert(this.a);}
}
var newfunc = new myfunc("123123123");
newfunc.show();
4.apply,call調用模式
var myobject={};
var sum = function(a,b){
return a+b;
};
var sum2 = sum.call(myobject,10,30); //var sum2 = sum.apply(myobject,[10,30]);
alert(sum2);
⑦ js里有兩個方法,怎麼實現其中一個方法調用另一個方法中的變數
第一種方法。
1.首先准備好兩個js文件。
⑧ Js怎麼調用外部Js
1、首先需要新建HTML文件。
⑨ JS 類方法調用
window.alert(p.getName1()+" "+People.getName2()+" "+p.getName3());
這里先執行括弧里所有的內容,再執行最外層的window.alert,
所以讀到People.getName2() 時,函數內的alert就先彈出來了,
因為getName2隻有一個alert方法,this.name是Object自帶的方法,會返回當前對象的全名,
所以彈出顯示People,
構造函數People里雖然有this.name,但是構造函數沒實例化是無法調用內部的屬性,
所以People.getName2()返回的是undefined,
⑩ js 調用另外一個方法
我們知道,在html中,利用引入的兩個js是不可以相互調用的。那麼該如何解決呢?當然,你可以將代碼通通過來,也許你並不喜歡這樣。
例如有這樣一個html,裡面有一個按鈕,當按下時調用b.js文件中的方法b()。而b()中又要調用a.js文件中的方法a()。若要實現這個功能,必須注意,將要引入的Js文件代碼放在下面。
首先,我們在html中引入b.js,並在之後加入引用語句。如下:
b.js文件如下:
new_element=document.createElement("script");
new_element.setAttribute("type","text/javascript");
new_element.setAttribute("src","a.js");// 在這里引入了a.js
document.body.appendChild(new_element);
function b() {
a();
}
在b.js文件中前4行代碼中我們引入了a.js文件,並在第7行代碼中調用了a.js代碼中的a()方法。
讓我們來分析一下關鍵的幾句代碼:首先,我們利用document.createElement("script")生成了一個script的標簽,設置其type屬性為text/javascript,src為a.js(這里的a.js同b.js放在同一個目錄,也可放在不同的目錄)。最後將這個標簽動態地加入body中。如此一來,我們就可以調用到不同js文件中的方法了。