① js 面向對象中的函數相互之間如何調用
用Function.prototype.bind即可
比如this.ele.addEventListener('touchstart', this.selectmouse.bind(this));
定義在Dumplings.prototype里的函數如果作為Dumplings實例的方法調用,其this指針會指向內Dumpling實例。
但作為參數容傳遞給其他函數(比如addEventListener)時其this指針會被重置,由addEventListener控制。
你需要在prototype里的函數里調用其它同級的函數,this就應當指向Dumplings實例,用this.ele來綁定事件和訪問事件的對象,這樣才能通過this來訪問其他同級對象。為防止addEventListener改變this的指向,需要用bind固定下來。
② 如何在一個函數中調用另一個函數 js
function
a{}這是一個類而不是函數,function
a(){};這才是一個函數,b也同樣,如果調用b,就直接b();就會運行函回數b,如果b是參數,b()這是傳的答b運行後返回的值,b是傳的b這個函數
③ js函數中調用另一個函數
JS函數調用另一個函數,此種情況是一個頁面同時要引入這兩個JS,如:
HTML頁面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
<script type="text/javascript" src="1.js" ></script>
<script type="text/javascript" src="2.js" ></script>
</head>
<body>
<input type="text" id="tex" name="tex" onblur="fun();" />
</body>
</html>
2.js:
function onCli(){
var va=document.getElementById("tex").value;
if(null == va || "" == va){
alert("請在文本框中輸入內容!");
return false;
}
return true; //不要忘記了,不然當va的值不為空時 if(onCli())中onCli()是undefined
}
1.js
function fun(){
if(onCli()){
alert("調用成功!");
}
}
④ 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
把兩個函數放在同一個作用域下,然後在內部寫,另一個函數名()。就可以了,如果不確定把兩個函數都寫成全局的,即不進行任何封裝,functionA(){b();};functionb(){}就可以了
⑥ JS通過函數名調用函數
調用方式:
方法調用模式
函數調用模式
構造器調用模式
1:方法調用模式。
/*方法調用模式*/
var myobject={
value:0,
inc:function(){
alert(this.value)
}
}
myobject.inc()
2:函數調用模式
/*函數調用模式*/
var add=function(a,b){
alert(this)//this被綁頂到window
return a+b;
}
var sum=add(3,4);
alert(sum)
3:構造器調用模式
var quo=function(string){
this.status=string;
}
quo.prototype.get_status=function(){
return this.status;
}
var qq=new quo("aaa");
alert(qq.get_status());
4:apply調用模式
/*apply*/
var arr=[10,20];
var sum=add.apply(myobject,arr);
alert(sum);
⑦ js如何知道函數名調用函數
思路:<br>1、用eval函數,字元串轉換為命令行執行都可以通過eval函數。<br>2、如果函數不多,可以通過if等方式進行判斷,執行不同的分支。<br>代碼示例:<br>function func_abc(){<br> alert('a');<br>}<br>var str = "func_abc";<br>eval(str+"()");//執行func_abc()函數
⑧ Js 怎麼調用(function () {里的函數
需要通過return的方式把要調用的函數返回給外部。
比如:
<script>
varta芹枝棗=(function(){//定義一個閉包匿名函數。
returnfunction(){//返回匿名函數內部的匿名函數給ta
alert('1');
}
})();
ta();//執行ta,彈出信息1
</script>
補充:
閉包是指有權訪問另一個函數作用域中的變數的函數,創建閉包的最常見的方式就是在一個函數內創建另一個函數,通過另一搭判個函數訪問這個函數的局部變數。這種寫法就是閉包的寫法,閉包內部的函數如果不是return方式,在外部無法獲取,無法進行調用。
(8)js中函數調用函數擴展閱讀:
Function函數與Sub過程類似。但 Function函數可以有返回值。可以使用參數。如果 Function函數沒有任何參數,則 Function語句必須要包含空括弧。 Function函數通過函數名返回一個值。返回值的數嫌拆據類型是Variant.
語法: Function 函數名 (參數1,參數2,...)
...
End Function
Function函數是包含在Function和End Function語句之間的一組VBScript語句。
⑨ JS中函數的調用、引用有什麼區別
調用是 invoke,引用是 reference。
題主知道值類型和引用類型的區別嗎?如果還不清楚,那麼建議把書從頭讀。JS 中的函數是一種引用類型。
調用就是執行了這個函數。