菜鸟学习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引用指针使用介绍
请尝试完成下列完形填空: 复制代码 代码如下: /* 创建一个队列,头为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引用赋值(地址传值)用法实例
本文实例讲述了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
-
浅析JavaScript基本类型与引用类型
对于 JavaScript 类型,可以简单地概括为:相对于强类型语言来说,它是弱(松散)类型的语言:有基本类型和引用类型,他们是区别是一个有固定空间存在于栈内存中,一个没有固定空间保存在堆内存中并且在栈内存中保存了一个指向实现位置的指针. 市面上很多书都有不小的篇幅在讲.这篇文章会讲几个方面,这些方面可能会需要你对 JavaScript 已经有了一些简单的了解,特别是 JavaScript 的类型.如果还不一解,可以随手拿起一本关于 JavaScript 的书翻翻,再来看本文. 一.基本类型与引
-
Javascript学习笔记之 函数篇(三) : 闭包和引用
Javascript 中一个最重要的特性就是闭包的使用.因为闭包的使用,当前作用域总可以访问外部的作用域.因为 Javascript 没有块级作用域,只有函数作用域,所以闭包的使用与函数是紧密相关的. 模拟私有变量 复制代码 代码如下: function Counter(start) { var count = start; return { increment: function() { count++; },
-
Javascript浅谈之引用类型
简介1.引用类型(Reference type)引用类型是javascript中一种内部类型.它主要是当做一个指代,代替一个变量或者函数,当然在需要真实值时,又可以通过它寻找到真实值. 2.引用类型的结构引用类型的值时由两部分构成,一是引用类型的值指代的对象的所属对象,这里我们姑且把它叫做base,二是base中的指代对象的对象名称.用伪代码来表示: 复制代码 代码如下: var valueOfReferenceType = {base: <base object>,propertyName:
-
JavaScript之引用类型介绍
Object类型 Object类型是JavaScript中使用最多的一种类型.虽然Object的实例不具备多少功能,但对于在应用程序中存储和传输数据而言,它确实是非常理想的选择. 创建Object实例的方式有两种,第一种是使用new操作符后跟Object构造函数. 复制代码 代码如下: var person = new Object(); person.name = "tt"; person.age = 12; 另一种方式是使用对象字面量表示法. 复制代码 代码如下: var pers
-
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中的传值与传引用
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中引用示例介绍
在Javascript脚本中,参数的引用原则:引用的参数内部(如属性)可以修改,但参数对应的引用(reference)不能修改. 一个测试例子如下: 复制代码 代码如下: <script language="javascript"> //dosomething1,对于引用,变量本身不可以修改,但变量内部结构可以修改 function dosomething1(a){ a = 'try'; } //测试1 function test1(){ var a = {a:'test'
-
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文件的路径.
随机推荐
- 用批处理删除N天前或指定日期时间(前后)创建(或修改)的文件
- Go语言实现冒泡排序、选择排序、快速排序及插入排序的方法
- 20种常用的DOS命令小结
- java微信企业号开发之开发模式的开启
- Oracle开发之分析函数(Rank, Dense_rank, row_number)
- 从Oracle 表格行列转置说起第1/2页
- php4与php5的区别小结(配置异同)
- 算法系列15天速成 第五天 五大经典查找【中】
- Java中FilterInputStream和FilterOutputStream的用法详解
- jquery ajax后台返回list,前台用jquery遍历list的实现
- 用Javascript同时提交多个Web表单的方法
- Node.js中使用mongoskin操作mongoDB实例
- mongodb添加arbiter节点的方法示例
- 存储过程的输出参数,返回值与结果集
- iOS中自定义弹出pickerView效果(DEMO)
- c# 二分查找算法
- Yii2中cookie用法示例分析
- Android ViewFlipper用法实例分析
- Ubuntu16.04下安装Wechat的实现方法
- 理想高通滤波实现Python opencv示例