JavaScript 定义function的三种方式小结_javascript技巧

(1)声明一个表达式变量,并定义该变量的表达式。如:

复制代码 代码如下:

var func = function()
{
/*body code*/
}

(2) 定义一个function表达式,并指定该表达式的标识。如:

复制代码 代码如下:

function func()
{
//body code
}

(3) 使用JavaScript内置Function对象构造。如:

复制代码 代码如下:

var func = new Function("/*parameters*/","/*body code*/");

声明变量定义与使用function表达式标识定义是有区别的。我们知道,function在发生传递时采用的是引用传递类型,使用变量定义是保存了表达式的地址引用,而使用标志定义保存了表达式的地址。因此当我们改变或重新定义变量时,并不会导致原来的表达式改变;而当改变标识时,其对应的表达式也随之改变。如:

复制代码 代码如下:

//声明一个变量,并定义该变量的表达式引用
var test = function()
{
alert("reference test");
}
//定义一个表达式,保存其地址信息于test1中
function test1()
{
alert("reference test1");
}
//将test所引用的表达式传递给reference
var reference = test;
//将test1表达式的地址传递给reference1
var reference1 = test1;
//改变变量test的引用
test = function()
{
alert("new test");
}
//重新定义test1地址内的数据
function test1()
{
alert("new test1");
}
alert(reference);//其所引用的表达式不改变
alert(reference1);//由于reference1是test1地址的引用,当test1地址表示的内容改变时,reference1的内容也随之改变

时间: 2024-10-29 03:57:35

JavaScript 定义function的三种方式小结_javascript技巧的相关文章

JavaScript定义类的几种方式总结_javascript技巧

提起面向对象我们就能想到类,对象,封装,继承,多态.在<javaScript高级程序设计>(人民邮电出版社,曹力.张欣译.英文名字是:Professional JavaScript for Web Developers)这本书中描述的还算比较详细.我们看看JavaScript中定义类的各种方法. 1.工厂方式 javaScript中创建自己的类和对象,我们应该是必须掌握的,我们都知道javaScript中对象的属性可以在对象创建后动态定义,比如下面的代码: 复制代码 代码如下: <scr

JavaScript数值转换的三种方式总结_javascript技巧

在JavaScript中,数值转换一般有三种方式: 一.Number(param)函数:param可以用于任何数据类型 1.1 param是Boolean值,true和false分别转换为1和0: 1.2 param是数值,只是简单的传入和返回 1.3 param是null和undefined,分别返回0和NaN 1.4 param是字符串,遵循下列规则: 1.4.1 如果字符串中只包含数字,则转换为十进制,前导0被忽略: 1.4.2 如果字符串中包含有效的浮点数格式,则返回对应的浮点数值,前导

详述JavaScript实现继承的几种方式(推荐)_javascript技巧

ECMAScript只支持实现继承,而且其实现继承主要是依靠原型链来实现的. 原型链 原型链的基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法.每一个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的指针.如果:我们让原型对象A等于另一个类型B的实例,那么原型对象A就会有一个指针指向B的原型对象,相应的B的原型对象中保存着指向其构造函数的指针.假如B的原型对象又是另一个类型的实例,那么上述的关系依旧成立,如此层层递进,就构成了实例与原型的

javascript创建函数的20种方式汇总_javascript技巧

工作中常常会创建一个函数来解决一些需求问题,以下是个人在工作中总结出来的创建函数20种方式,你知道多少? function sayHello(){ console.log('hello'); } function leave(){ console.log('goodbye'); } //test sayHello(); 为完成需求,赶紧声明一个函数吧 var sayHello = function(){ console.log('hello'); } var leave = function()

JavaScript调用后台的三种方法实例_javascript技巧

方法一:直接使用<%=%>调用 前台JS: 复制代码 代码如下: <script type="text/javascript">         var methodStr = "<%=BehindMethod() %>";         alert(methodStr);         </script>  后头方法: 复制代码 代码如下: public static string BehindMethod() 

给事件响应函数传参数的四种方式小结_javascript技巧

如何给事件handler传参数?在刚刚接触Javascript的时候,由于对闭包理解不深刻,常常纠结于该问题. 在讨论群里也经常碰到这样的问题,如下 复制代码 代码如下: <!DOCTYPE HTML><html><head>    <meta charset="utf-8">    <title>如何给事件handler传参数?</title></head><body> <a hre

js中设置元素class的三种方法小结_javascript技巧

一.el.setAttribute('class','abc'); 复制代码 代码如下: <!DOCTYPE HTML> <HTML> <HEAD> <meta charset="utf-8" /> <title>setAttribute('class', 'abc')</title> <style type="text/css"> .abc { background: red; }

将string解析为json的几种方式小结_javascript技巧

1.比较古老的方法: 复制代码 代码如下: function strToJson(str){ var json = eval('(' + str + ')'); return json; } 2.比较常用的方法: 复制代码 代码如下: function strToJson(str){ return (new Function("return " + str))(); } 3.IE67不支持的json对象方法: 复制代码 代码如下: function strToJson(str){ re

JavaScript定义类的几种方式总结

 本篇文章主要是对JavaScript定义类的几种方式进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 提起面向对象我们就能想到类,对象,封装,继承,多态.在<javaScript高级程序设计>(人民邮电出版社,曹力.张欣译.英文名字是:Professional JavaScript for Web Developers)这本书中描述的还算比较详细.我们看看JavaScript中定义类的各种方法.    1.工厂方式   javaScript中创建自己的类和对象,我们应该是必