javascript 具名函数的四种调用方式 推荐第1/3页_javascript技巧

1、()小括号运算符 平时最常用的就是()运算符来调用一个函数

复制代码 代码如下:

//无参函数fun1
function fun1() {
alert('我被调用了');
}
fun1()

//有参函数fun2
function fun2(param) {
alert(param);
}
fun2('我被调用了')

ECMAScript3后加入给Function加入了call和apply后,就有了下面两种
2、call

复制代码 代码如下:

//无参函数fun1
function fun1() {
alert('我被调用了');
}
fun1.call(null);

//有参函数fun2
function fun2(param) {
alert(param);
}
fun2.call(null,'我被调用了')

3、apply

复制代码 代码如下:

//无参函数fun1
function fun1() {
alert('我被调用了');
}
fun1.apply(null);

//有参函数fun2
function fun2(param) {
alert(param);
}
fun2.apply(null,['我被调用了'])

4、new (不推荐使用这种方式哦 )

复制代码 代码如下:

//无参函数fun1
function fun1() {
alert('我被调用了');
}
new fun1();

//有参函数fun2
function fun2(param) {
alert(param);
}
new fun2('我被调用了')

ok,从以上调用方式上看四种方式执行结果没有区别。但如果函数有返回值的话,用new方式调用时可能会让你有些失望。

复制代码 代码如下:

//有返回值的函数fun
function fun() {
alert('我被调用了');
return "jack";
}

var c = new fun();
alert(c);//[object Object],为什么不是"jack"?

改成这样,

复制代码 代码如下:

//有返回值的函数fun
function fun() {
alert('我被调用了');
return {name:'jack'};
}

var c = new fun();
alert(c.name);//jack,又正常返回了

好了,总结下:用new方式调用函数时。如果存在返回值,当返回值是javascript的内置类型(基本类型)如字符串(String),数字(Number),布尔(Boolean)等时,将不会返回该值;当返回值是对象,函数,数组等对象类型时,将返回该对象,函数,数组。

当返回值是内置类型(基本类型)时,new fun()到底返回什么呢?下一篇将讨论new方式调用的细节。

当前1/3页 123下一页阅读全文

时间: 2024-08-01 09:35:20

javascript 具名函数的四种调用方式 推荐第1/3页_javascript技巧的相关文章

Javascript 函数的四种调用模式_javascript技巧

Javascript 函数的四种调用模式 1  函数模式      最普通的函数调用 // 声明式函数 function fn1 () { console.log(this); } // 函数表达式函数 var fn2 = function() { console.log(this); }; // 调用 函数中this表示全局对象,在浏览器中就是指window fn1(); //window fn2(); //window  2 方法模式      函数依附于一个对象,是对象的一个属性,我们再调

javascript的函数、创建对象、封装、属性和方法、继承_javascript技巧

一,function 从一开始接触到js就感觉好灵活,每个人的写法都不一样,比如一个function就有N种写法 如:function showMsg(){},var showMsg=function(){},showMsg=function(){} 似乎没有什么区别,都是一样的嘛,真的是一样的吗,大家看看下面的例子 复制代码 代码如下: ///----------------------------------------------------------------------------

JavaScript定义数组的三种方法(new Array(),new Array('x','y')_javascript技巧

如下所示: <!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="Co

javascript htmlencode函数(ff兼容版) 主要是编辑器中反转html代码_javascript技巧

方法一: 用的浏览器内部转换器实现转换,要领是动态创建一个容器标签元素,如DIV,将要转换的字符串设置为这个元素的innerText(ie支持)||textContent(火狐支持),然后返回这个元素的innerHTML,即得到经过HTML编码转换的字符串,显示的时候反过来就可以了(实际上显示的时候不消通过转换,直接赋值在div就可以正常显示的). [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 第二种方法: 正则替换 通过把正则表达式把<>和空格符转换成html编码,由于这种方法

javascript typeof的用法与typeof运算符介绍[详细]第1/2页_javascript技巧

经常会在js里用到数组,比如 多个名字相同的input, 若是动态生成的, 提交时就需要判断其是否是数组. if(document.mylist.length != "undefined" ) {} 这个用法有误. 正确的是 if( typeof(document.mylist.length) != "undefined" ) {} 或 if( !isNaN(document.mylist.length) ) {} typeof的运算数未定义,返回的就是 "

javascript小技巧 超强推荐第1/5页_javascript技巧

事件源对象  event.srcElement.tagName  event.srcElement.type  捕获释放  event.srcElement.setCapture();   event.srcElement.releaseCapture();   事件按键  event.keyCode  event.shiftKey  event.altKey  event.ctrlKey  事件返回值  event.returnValue  鼠标位置  event.x  event.y  窗体

JavaScript函数的4种调用方法详解_javascript技巧

在JavaScript中,函数是一等公民,函数在JavaScript中是一个数据类型,而非像C#或其他描述性语言那样仅仅作为一个模块来使用.函数有四种调用模式,分别是:函数调用形式.方法调用形式.构造器形式.以及apply形式.这里所有的调用模式中,最主要的区别在于关键字 this 的意义,下面分别介绍这个几种调用形式. 本文主要内容: 1.分析函数的四种调用形式2.弄清楚函数中this的意义3.明确构造函对象的过程4.学会使用上下文调用函数 一.函数调用形式 函数调用形式是最常见的形式,也是最

JavaScript四种调用模式和this示例介绍

 JavaScript调用时除了声明时定义的形参外,每个函数接受两个附加参数:this 和arguments,下面为大家介绍下JavaScript四种调用模式和this JavaScript调用时除了声明时定义的形参外,每个函数接受两个附加参数:this 和arguments,this在面向对象编程中非常重要,它取决于调用模式.    JavaScript有四种调用模式,方法调用模式,函数调用模式,构造器调用模式和apply调用模式.这些模式在初始化关键参数this上存在差异.    方法调用模

JavaScript四种调用模式和this示例介绍_javascript技巧

JavaScript调用时除了声明时定义的形参外,每个函数接受两个附加参数:this 和arguments,this在面向对象编程中非常重要,它取决于调用模式. JavaScript有四种调用模式,方法调用模式,函数调用模式,构造器调用模式和apply调用模式.这些模式在初始化关键参数this上存在差异. 方法调用模式:当一个函数被保存为对象的一个属性时,我们称它为一个方法,当一个方法被调用时,this被绑定到该对象上.如果调用表达式包含一个属性取表达式(即一个.点表达式或[script]下标表