js函数调用,js函数调用方式有哪些
如何在js函数中调用另外一个函数
具体调用情况需要看js方法是怎么写的。
①如果是最简单的一个方法:functiuon dome1(){ //.代码块}//调用方法就是:dome1()。
②如果是闭包形式:function dome1(){ function dome2(){ } return function dome3(){ }}//这里可以访问dome1方法内的dome3方法,dome2方法对与dome1方法外部是不可见的。
③如果是一个对象形式的:var obj={ dome1:function(key,value){}, dome2:function(){}};//访问dome1和dome2方法:obj.dome1(1,2);obj.dome2()。
他的情况需要看具体的代码。
扩展资料
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。JavaScript函数语法,函数就是包裹在花括号中的代码块,前面使用了关键词 function: 当调用该函数时,会执行函数内的代码。
可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。
创建函数的语法
function函数名 (var1, var2, ..., varX) {代码... }
function函数名 (var1, var2, ..., varX) {代码... }
var1, var2 等指的是传入函数的变量或值。{ 和 } 定义了函数的开始和结束。
注意:无参数的函数必须在其函数名后加括号:
function函数名 () { 代码... }
function函数名 () { 代码... }
注意:别忘记 JavaScript 中大小写字母的重要性。"function" 这个词必须是小写的,否则 JavaScript 就会出错。另外需要注意的是,必须使用大小写完全相同的函数名来调用函数。
参考资料:百度百科——JavaScript 函数
JS通过函数名调用函数
JS函数调用的四种方法
1:方法调用模式
/*方法调用模式*/
????var?myobject={
????????????value:0,
????????????inc:function(){
????????????????????alert(this.value)
????????????????}
????????}
????myobject.inc()
请注意this此时指向myobject
2:函数调用模式
/*函数调用模式*/
????
????var?add=function(a,b){
????????alert(this)//this被绑顶到window
????????????return?a+b;
????????}
????var?sum=add(3,4);
????alert(sum)
请注意this此时指向window
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());
javascript语言精粹一书建议摒弃这种方式
4:apply调用模式
/*apply*/
????//注意使用了上面的sum函数
????//与myobject
????//这中调用方式的优点在于可以指向this指向的对象。
????//apply的第一个参数就是this指针要指向的对象
????var?arr=[10,20];
????var?sum=add.apply(myobject,arr);
????alert(sum);
看这个apply真正应用。bind这是一个绑定时间的函数
var?bind=function(object,type,fn){
????????????if(object.attachEvent){//IE浏览器
????????????????????object.attachEvent("on"+type,(function(){
???????????????????????????????????????????????????????????return?function(event){
???????????????????????????????????????????????????????????????window.event.cancelBubble=true;//停止时间冒泡
???????????????????????????????????????????????????????????????object.attachEvent=[fn.apply(object)];
???????????????????????????????????????????????????????????????//在IE里用attachEvent添加一个时间绑定以后。
???????????????????????????????????????????????????????????????//this的指向不是到object对象本身所以。我们绑定的function里的this.id是无法正常工作的。
???????????????????????????????????????????????????????????????//但是如果我们用fn.apply(object)
???????????????????????????????????????????????????????????????//这里可以看出我们是把apply的第一个对象也就是this的指向变更给了object所以this.id就变成了
???????????????????????????????????????????????????????????????//object.id?可以正常工作了。
???????????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????}
???????????????????????????????????????????????????????????})(object),false);
????????????????}else?if(object.addEventListener){//其他浏览器
????????????????????????object.addEventListener(type,function(event){
??????????????????????????????????????????????????????????????event.stopPropagation();//停止时间冒泡
??????????????????????????????????????????????????????????????fn.apply(this)
??????????????????????????????????????????????????????????????});
????????????????????}
????????????
????????}
????bind(document.getElementById("aaa"),"click",function(){alert(this.id)});
js 函数调用
js是事件驱动的,一个节点可以发生很多种事件,包括click事件。在js中,当节点发生某一个事件时,可以为该事件绑定一个处理函数。也就是类似的 document.getElementById("myBtn").onclick = function(){} 所要注意的是,这个节点的onclick属性,需要赋给一个函数类型的值,才可以处理事件。 但是displayDate()并不是一个函数,你可以说你定义了displayDate函数,但displayDate()也就是加了一对括号的displayDate,是函数执行了,displayDate()是等价于displayDate的返回值的。在displayDate函数里,只是给id为demo的节点重新设置了内容,没有返回值,所以默认的就是undefined。 那么如果写成 document.getElementById("myBtn").onclick = displayDate(); 实际上是等价于 document.getElementById("myBtn").onclick = undefined; 显然undefined是不能作为节点事件的处理函数的。 但是,也不是一定要加上function(){},你可以写成这样: document.getElementById("myBtn").onclick = displayDate; 虽然displayDate()不是函数,但displayDate却是函数,是可以作为节点事件的处理函数的。
javascript中函数调用的方法有几种?
Javascript中定义函数的方式有多种,函数直接量就是其中一种。如var fun = function(){},这里function如果不赋值给fun那么它就是一个匿名函数。好,看看匿名函数的如何被调用。 方式1,调用函数,得到返回值。强制运算符使函数调用执行(function(x,y){ alert(x+y); return x+y; }(3,4)); 方式2,调用函数,得到返回值。强制函数直接量执行再返回一个引用,引用再去调用执行(function(x,y){ alert(x+y); return x+y;} )(3,4); 这种方式也是很多库爱用的调用方式,如jQuery,Mootools。 方式3,使用voidvoid function(x) { x = x-1; alert(x);}(9);
Js 怎么调用(function () {里的函数?
需要通过return的方式把要调用的函数返回给外部。
比如:
script
var?ta?=?(function(){//定义一个闭包匿名函数。
return?function(){//返回匿名函数内部的匿名函数给ta
alert('1');
}
})();
ta();//执行ta,弹出信息1
/script
补充:
闭包是指有权访问另一个函数作用域中的变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量。这种写法就是闭包的写法,闭包内部的函数如果不是return方式,在外部无法获取,无法进行调用。
扩展资料:
Function函数与Sub过程类似。但 Function函数可以有返回值。可以使用参数。如果 Function函数没有任何参数,则 Function语句必须要包含空括号。 Function函数通过函数名返回一个值。返回值的数据类型是Variant.
语法: Function 函数名 (参数1,参数2,...)
...
End Function
Function函数是包含在Function和End Function语句之间的一组VBScript语句。
参考资料来源:百度百科-Function函数