javascript-函数声明和函数表达式-call-apply
1.函数声明与函数表达式
<script type="text/javascript">
//函数表达式,解析器在像执行环境中加载数据时,函数表达式是解析器执行到这段代码才会被真正解析执行
//alert会出错
alert(aOne(1));
var aOne = function() {
// body...
return value1+=1;
} //TypeError: aOne is not a function
//函数声明会在解析器执行环境时候将立即被加载进去,所以alert才不会报错
alert(aOne(1));
function aOne(value1) {
// body...
return value1+=1;
} //no error
</script>
2.函数内部属性
特殊对象:arguments和this
arguments有个特殊的属性callee,该属性是一个指针,指向拥有arguments的对象的函数--arguments.callee();
3.函数属性和方法
每个函数都包含2个属性
length-函数接受的参数个数
prototype--保存所有实例的方法 比如tostring()
包含2个非继承而来的方法,this指向的是
call()--call(this,num1,num2)
apply()--apply(this,[num1,num2])
window.color = "red";
var o = function () { }
o.color = "blue";
function sayColor () {
alert(this.color);
}
sayColor();
//sayColor.call(this); //red
//sayColor.call(window); //red
sayColor.call(o); //blue
}
字符创大小写转换
var a = "abdDDK";
alert(a.toLowerCase());
alert(a.toUpperCase());
javascript-函数声明和函数表达式-call-apply的更多相关文章
- 引用类型--Function类型(函数声明与函数表达式、arguments.callee、caller、apply、call、bind)
在ECMAScript中函数实际上是对象.每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法.由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定 ...
- JavaScript 函数声明,函数表达式,匿名函数,立即执行函数之区别
函数声明:function fnName () {-};使用function关键字声明一个函数,再指定一个函数名,叫函数声明. 函数表达式 var fnName = function () {-};使 ...
- 详解Javascript 函数声明和函数表达式的区别
Javascript Function无处不在,而且功能强大!通过Javascript函数可以让JS具有面向对象的一些特征,实现封装.继承等,也可以让代码得到复用.但事物都有两面性,Javascrip ...
- javascript 函数声明与函数表达式的区别
先看一段代码 var f = function g() { return 1; }; if (false) { f = function g(){ return 2; }; } alert(g()); ...
- Javascript函数声明与函数表达式
在定义函数时,我们一般使用下面这两种方法: 使用函数声明定义: function sum (a, b) { return a + b; } 使用函数表达式定义: var sum = function ...
- 【JavaScript】Javascript中的函数声明和函数表达式
Javascript有很多有趣的用法,在Google Code Search里能找到不少,举一个例子: <script> ~function() { alert("hello, ...
- javaScript的函数(Function)对象的声明(@包括函数声明和函数表达式)
写作缘由: 平时再用js写函数的时候,一般都是以惯例 function fn () {} 的方式来声明一个函数,在阅读一些优秀插件的时候又不免见到 var fn = function () {} 这种 ...
- javascript中函数声明与函数表达式的区别
javascript中声明函数的方法有两种:函数声明式和函数表达式.究竟他们用起来有什么区别呢? 区别如下: (1).以函数声明的方法定义的函数,函数名是必须的,而函数表达式的函数名是可选的. (2) ...
- JavaScript的函数声明与函数表达式的区别
1)函数声明(Function Declaration); // 函数声明 function funDeclaration(type){ return type==="Declaration ...
- 转载 JavaScript的函数声明与函数表达式的区别
1)函数声明(Function Declaration); // 函数声明 function funDeclaration(type){ return type==="Declaration ...
随机推荐
- android xml文件中出现如下提醒:This tag and its children can be replaced by one <TextView/> and a compound drawable
第一个感叹号 是跟你说 让你把Imageview 和textview 结合起来 只用 textview textview有个属性叫 android:drawable...(top/bottom/.. ...
- 二分图最大匹配 Hopcroft-Karp算法模板
#include <iostream> #include <cstdlib> #include <cstdio> #include <cstring> ...
- .NET 4.0里异常处理的新机制
非原创,转载自: http://www.cnblogs.com/killmyday/archive/2010/09/05/1818533.html .NET里不能捕捉(catch)到一些异常了,而 ...
- Chapter 1 First Sight——17
Once I got around the cafeteria, building three was easy to spot. 我一走出自助餐厅,很容易看见建筑三. A large black & ...
- Java项目开发第二天
相对来说今天还是轻松了挺多的,好了,刚刚跑完步,今天心情不错,直接进入主题,就不废话了. (PS:室友都去准备迎新了,老大也是,还好都将课本留给我了,可以好好的看看书了,好好学习,天天向上.) 图形用 ...
- struts2 里escape="false"的问题?
<s:property value="html" escape="false"/> 没有name 不知道你是怎么取的值 <s:hidden n ...
- 风格一致的backItem在项目中怎样设置
在相应的navigationController中重写- (void)pushViewController:(UIViewController *)viewController animated:(B ...
- JAVA Timer定时器使用方法(一)
设置定时任务很简单,用Timer类就搞定了. 一.延时执行首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行. 代码如下:package test;i ...
- IDEA github的应用
1.下载并安装一个git 一直点下一步就可以 2.去github官网注册一个账号 https://github.com/ 2.1点击Sign up 进入注册页面 2.2填写注册信息,点击Create ...
- CastelWindsor Demo
class Program { static void Main(string[] args) { var container = new WindsorContainer(); container. ...