菜鸟学习JavaScript小实验之函数引用
function tt()
{
alert(11);
}
var b = tt;
var b1 = tt(); //执行tt()函数功能
对于函数的引用,可直接将函数名“tt”赋给变量,但不可以是函数名+括号的形式“tt()”,因为第二种是直接执行该函数。
调用函数的时候,用变量名+括号的形式,如:b()。
代码如下:
function tt()
{
alert(11);
}
var b = tt;
alert(b);
function tt()
{
alert(22);
}
alert(b);
b();
由于变量b中保存的是函数的引用,当函数变化时,b也随时变化,且不管函数出现的先后顺序。两次alert(b),虽然位置不一样,但是内容相同。
这只是一个小实验,下面研究下js中的闭包问题。
学习用书《征服RIA——基于JavaScript的web客户端开发》和《JavaScript权威指南》中文版。
相关推荐
-
Javascript浅谈之引用类型
简介1.引用类型(Reference type)引用类型是javascript中一种内部类型.它主要是当做一个指代,代替一个变量或者函数,当然在需要真实值时,又可以通过它寻找到真实值. 2.引用类型的结构引用类型的值时由两部分构成,一是引用类型的值指代的对象的所属对象,这里我们姑且把它叫做base,二是base中的指代对象的对象名称.用伪代码来表示: 复制代码 代码如下: var valueOfReferenceType = {base: <base object>,propertyName:
-
Javascript delete 引用类型对象
如下面例子: 复制代码 代码如下: var testVar = { a : { test : 1 } }, test1 = {}, test2 = {}; test1.a = testVar.a; test2.a = testVar.a;/* delete test1.a; console.log(test1.a); //
-
JavaScript之引用类型介绍
Object类型 Object类型是JavaScript中使用最多的一种类型.虽然Object的实例不具备多少功能,但对于在应用程序中存储和传输数据而言,它确实是非常理想的选择. 创建Object实例的方式有两种,第一种是使用new操作符后跟Object构造函数. 复制代码 代码如下: var person = new Object(); person.name = "tt"; person.age = 12; 另一种方式是使用对象字面量表示法. 复制代码 代码如下: var pers
-
浅析JavaScript基本类型与引用类型
对于 JavaScript 类型,可以简单地概括为:相对于强类型语言来说,它是弱(松散)类型的语言:有基本类型和引用类型,他们是区别是一个有固定空间存在于栈内存中,一个没有固定空间保存在堆内存中并且在栈内存中保存了一个指向实现位置的指针. 市面上很多书都有不小的篇幅在讲.这篇文章会讲几个方面,这些方面可能会需要你对 JavaScript 已经有了一些简单的了解,特别是 JavaScript 的类型.如果还不一解,可以随手拿起一本关于 JavaScript 的书翻翻,再来看本文. 一.基本类型与引
-
深入理解JavaScript中的传值与传引用
1.传值(by value) 变量的值被复制出一份,与原来的值将不相干,也就是说即使新的值被修改,原来的值也不会改变,在JavaScript中基本类型都是传值的. 复制代码 代码如下: function testPassValue(){ var m=1; var n=2; //将m,n的值复制一份,传递到passValue passValue(m,n); alert(m); //将是原有的值}function passValue(a,b){ a = a+b; //改变a的
-
Javascript引用指针使用介绍
请尝试完成下列完形填空: 复制代码 代码如下: /* 创建一个队列,头为head0,尾为tail0 */ function IntList(head0, tail0){ this.head = head0 || 0; this.tail = tail0 || null; } /* 返回一个IntList包含数组中的所有数 */ IntList.list = function(__args){ var sentinel = new IntList(), len = __args.length, p
-
javascript中正则表达式反向引用示例介绍
最近遇到一个需求,传入一个字符串,每三个字符插入一个空格 例: 传入abcd1234 输出 abc d12 34 思考了一下,准备写一个函数如下 复制代码 代码如下: function appendSpace(s) { var length = s.length; var result = ""; var last = 0; for(var i = 3;i<=length;i=i+3,last = last+3) { result = result+s.substring(i-3
-
javascript文件中引用依赖的js文件的方法
在一个js文件中如果需要引入另外所依赖的js文件,只需要在第一个js文件中导入如下代码即可: 复制代码 代码如下: var s=document.createElement("script"); s.src="/script/Map.js"; document.getElementsByTagName( "HEAD")[0].appendChild(s); 其中红色部分为所依赖的js文件的路径.
-
Javascript中引用示例介绍
在Javascript脚本中,参数的引用原则:引用的参数内部(如属性)可以修改,但参数对应的引用(reference)不能修改. 一个测试例子如下: 复制代码 代码如下: <script language="javascript"> //dosomething1,对于引用,变量本身不可以修改,但变量内部结构可以修改 function dosomething1(a){ a = 'try'; } //测试1 function test1(){ var a = {a:'test'
-
Javascript学习笔记之 函数篇(三) : 闭包和引用
Javascript 中一个最重要的特性就是闭包的使用.因为闭包的使用,当前作用域总可以访问外部的作用域.因为 Javascript 没有块级作用域,只有函数作用域,所以闭包的使用与函数是紧密相关的. 模拟私有变量 复制代码 代码如下: function Counter(start) { var count = start; return { increment: function() { count++; },
-
javascript引用赋值(地址传值)用法实例
本文实例讲述了javascript引用赋值(地址传值)用法.分享给大家供大家参考.具体如下: javascript在默认情况下,数组.对象和函数是引用赋值,如下代码所示: 复制代码 代码如下: <html> <head> <script type="text/javascript"> var a={age:20,height:175}; var b = a; alert(b.age); b.age = 25; alert(a.age); </s
随机推荐
- prototype 中文参数乱码解决方案
- Java日期时间以及日期相互转换
- FCKeditor 源代码分析附中文注释
- MySQL导出所有Index和约束的方法
- 详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
- Java FTPClient实现文件上传下载
- python下函数参数的传递(参数带星号的说明)
- iOS中利用inputView 弹出 picker
- JS+Canvas实现的俄罗斯方块游戏完整实例
- JavaScript使用cookie
- PHPExcel笔记, mpdf导出
- C#利用时间和随即字符串创建唯一的订单编号
- 浅析C语言中的内存布局
- Android中通知Notification使用实例(振动、灯光、声音)
- 发现ravmsmon.exe病毒的清除方法
- php常用正则函数实例小结
- jQuery实现的一个自定义Placeholder属性插件
- jquery滚动加载数据的方法
- C# DataSet的内容写成XML时如何格式化字段数据
- asp.net iis7默认文档错误异常的解决方法