函数调用:

/*    1.    函数调用        */
var temp = distance(,,,); /* 2. 方法调用 */
this.CName = "全局";
var o = {
CName:"o类",
m:function(){
var self = this;
console.log(this == o); //true
console.log(this.CName); //o类
f();
function f(){
console.log(this == o);
//false,此this绑定到全局对象
console.log(this.CName);
//全局
console.log(self == o);
//true
console.log(self.CName);
//o类
}
} };
o.m(); 关于this: 一丶当它为一个对象上的方法的时候,this是当前这个对象。 二丶函数调用模式当函数并非一个对象的属性时,那么它被当做一个函数来调用。此模式下this绑定到全局对象。通过在对象内将this赋值给that,可以使函数模式下调用that来访问指定对象。 函数的实参和形参: /* 1. 可选形参 */
function getPropertyNames(o,a){
a = a||[];
for(var property in o){
a.push(property);
}
return a;
} var a = getPropertyNames(o);
var b;
getPropertyNames(p,b); // 两种调用 /* 2. 可变长实参 */
function max(){
var max = ;
for(var i=; i<arguments.length; i++){
if(arguments[i]>max){
max=arguments[i];
}
return max;
}
} // 关于arguments
function test_1(a,b,c,d){
console.log(a,b,c,d); //1,2,3,4
for(var i=; i<arguments.length; i++){
arguments[i] = ;
}
console.log(a,b,c,d); //0,0,0,0
}
test_1(,,,);
//改变arguments[i]时,对应传进去的参数也会改变 caller&callee: // caller: 正在执行函数的函数
// callee: 正在执行的函数
function test_2(){
console.log("test_2"); function test_3(){
console.log("test_3");
function test_4(){
console.log("test_4");
//arguments.callee(); //这里会循环调用test_4
//test_4.caller();//这里回调到test_4调用者test_3
}
return test_4();
}
return test_3();
}
test_2(); // 还可以用来做递归
var plus = function(x){
if(x<=) return ;
return x*arguments.callee(x-);
}
console.log(plus()); 参数类型检测: isfinite(); // 是否有限数
isArrayLike(); // 是否是数组 函数的自定义属性: uniqueInterger.count =
// 给uniqueInterger函数定义了一个count属性
function uniqueInterger(){
//var a="myfunc";
return uniqueInterger.count++;
}
console.log(uniqueInterger()); //
console.log(uniqueInterger()); //
console.log(uniqueInterger()); // 作为命名空间的函数: function myModule(){
// 模块代码
// 这个模块使用的变量都是局部变量
// 不会污染全局命名空间
}
myModule() //别忘记调用这个函数 //或者更简单的
(function(){
// 模块代码
}());

JavaScript函数参数与调用的更多相关文章

  1. javascript 函数参数

    1.javascript函数参数的个数以及类型没有强制规定,调用时不必严格按照函数的参数或类型,函数的参数只是在调用函数的时候提供了便利,但不是必须的! 2.参数在javascript内部是用数组ar ...

  2. JavaScript函数的各种调用模式

    函数是JavaScript世界里的第一公民,换句话来说,就是我们如果可以精通JavaScript函数的使用,那么对JavaScript的运用可以更游刃有余了.熟悉JavaScript的人应该都知道,同 ...

  3. 理解JavaScript函数参数

    前面的话 javascript函数的参数与大多数其他语言的函数的参数有所不同.函数不介意传递进来多少个参数,也不在乎传进来的参数是什么数据类型,甚至可以不传参数. arguments javascri ...

  4. Javascript 函数声明、调用、闭包

    1 # Javascript 函数声明.调用.闭包 2 # 一.函数声明 3 # 1.直接声明.浏览器在执行前,会先将变量和函数声明进行提升. 4 fn(); 5 function fn () { 6 ...

  5. JavaScript 函数参数是传值(byVal)还是传址(byRef)?

    对于“JavaScript 函数参数是传值(byVal)还是传址(byRef)”这个问题,普遍存在一个误区:number,string等“简单类型”是传值,Number, String, Object ...

  6. ASP.net关于C#代码与javaScript函数的相互调用

    C#代码与javaScript函数的相互调用 问:1.如何在JavaScript访问C#函数?2.如何在JavaScript访问C#变量?3.如何在C#中访问JavaScript的已有变量?4.如何在 ...

  7. 深入理解javascript函数参数与闭包(一)

    在看此文章,希望先阅读关于函数基础内容 函数定义与函数作用域 的章节,因为这篇文章或多或少会涉及函数基础的内容,而基础内容,我放在函数定义函数作用域 章节. 本文直接赘述函数参数与闭包,若涉及相关知识 ...

  8. 深入理解JavaScript函数参数

    前面的话 javascript函数的参数与大多数其他语言的函数的参数有所不同.函数不介意传递进来多少个参数,也不在乎传进来的参数是什么数据类型,甚至可以不传参数. arguments javascri ...

  9. JavaScript 函数——语法,调用,返回值,局部变量,全局变量,未声明变量

    JavaScript 函数是被设计为执行特定任务的代码块. JavaScript 函数会在某代码调用它时被执行. ㈠函数 ⑴什么是函数 函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块. ⑵ ...

随机推荐

  1. jq生成目录文件树jQuery Ztree基本用法

    转自:http://www.cnblogs.com/linjiqin/p/4547452.html 1.首先在页面上有<ul/>标签 ? 1 <ul id="tree&qu ...

  2. Android DrawerLayout 高仿QQ5.2双向侧滑菜单

    1.概述 之前写了一个Android 高仿 QQ5.0 侧滑菜单效果 自定义控件来袭 ,恰逢QQ5.2又加了一个右侧菜单,刚好看了下DrawerLayout,一方面官方的东西,我都比较感兴趣:另一方面 ...

  3. Xamarin.Android提示aapt退出,代码为255

    Xamarin.Android提示aapt退出,代码为255 错误信息:”aapt.exe”已退出,代码为255.出现这种问题,通常是由于该项目所使用Android SDK不完整.通过SDK Mana ...

  4. XMLHTTPRequest对象

    1.用于在后台与服务器交换数据: 2.XMLHttpRequest对象可以在不向服务器提交整个页面的情况下,实现局部更新网页.当页面全部加载完毕后,客户端通过该对象向服务器请求数据, 服务器端接受数据 ...

  5. HDU3247 Resource Archiver(AC自动机+BFS+DP)

    题目,求最短的包含所有n个DNA片段且不包含任何一个病毒片段的序列. 容易用所有DNA片段和病毒片段建一个AC自动机,构造fail时处理一下各个结点后缀是DNA或者病毒的情况,然后dp[S][u]表示 ...

  6. 什么是 IntentService

    service 默认也运行在 UI 线程,所以里面不能直接做耗时操作,要做耗时操作还得开启子线程来做. IntentService 就是一个 Service, 只不过里面给你默认开启了一个子线程来处理 ...

  7. BZOJ3103 : Palindromic Equivalence

    用Manacher可以推出O(n)对相等和不等关系. 将相等的用并查集维护,不等的连边. 然后从1到n,如果该等价类还没被考虑过,则ans*=26-与它不等的考虑过的等价类个数. #include&l ...

  8. NOIP 2002过河卒 Label:dp

    题目描述 如图,A 点有一个过河卒,需要走到目标 B 点.卒行走规则:可以向下.或者向右.同时在棋盘上的任一点有一个对方的马(如上图的C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点.例如 ...

  9. 转:深入理解JavaScript闭包概念

    闭包向来给包括JavaScript程序员在内的程序员以神秘,高深的感觉,事实上,闭包的概念在函数式编程语言中算不上是难以理解的知识.如果对作用域,函数为独立的对象这样的基本概念理解较好的话,理解闭包的 ...

  10. 解决javax.imageio.IIOException: Can't create output stream!

    解决javax.imageio.IIOException: Can't create output stream! javax.imageio.ImageIO.write(image, "J ...