JavaScript函数参数与调用
函数调用: /* 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函数参数与调用的更多相关文章
- javascript 函数参数
1.javascript函数参数的个数以及类型没有强制规定,调用时不必严格按照函数的参数或类型,函数的参数只是在调用函数的时候提供了便利,但不是必须的! 2.参数在javascript内部是用数组ar ...
- JavaScript函数的各种调用模式
函数是JavaScript世界里的第一公民,换句话来说,就是我们如果可以精通JavaScript函数的使用,那么对JavaScript的运用可以更游刃有余了.熟悉JavaScript的人应该都知道,同 ...
- 理解JavaScript函数参数
前面的话 javascript函数的参数与大多数其他语言的函数的参数有所不同.函数不介意传递进来多少个参数,也不在乎传进来的参数是什么数据类型,甚至可以不传参数. arguments javascri ...
- Javascript 函数声明、调用、闭包
1 # Javascript 函数声明.调用.闭包 2 # 一.函数声明 3 # 1.直接声明.浏览器在执行前,会先将变量和函数声明进行提升. 4 fn(); 5 function fn () { 6 ...
- JavaScript 函数参数是传值(byVal)还是传址(byRef)?
对于“JavaScript 函数参数是传值(byVal)还是传址(byRef)”这个问题,普遍存在一个误区:number,string等“简单类型”是传值,Number, String, Object ...
- ASP.net关于C#代码与javaScript函数的相互调用
C#代码与javaScript函数的相互调用 问:1.如何在JavaScript访问C#函数?2.如何在JavaScript访问C#变量?3.如何在C#中访问JavaScript的已有变量?4.如何在 ...
- 深入理解javascript函数参数与闭包(一)
在看此文章,希望先阅读关于函数基础内容 函数定义与函数作用域 的章节,因为这篇文章或多或少会涉及函数基础的内容,而基础内容,我放在函数定义函数作用域 章节. 本文直接赘述函数参数与闭包,若涉及相关知识 ...
- 深入理解JavaScript函数参数
前面的话 javascript函数的参数与大多数其他语言的函数的参数有所不同.函数不介意传递进来多少个参数,也不在乎传进来的参数是什么数据类型,甚至可以不传参数. arguments javascri ...
- JavaScript 函数——语法,调用,返回值,局部变量,全局变量,未声明变量
JavaScript 函数是被设计为执行特定任务的代码块. JavaScript 函数会在某代码调用它时被执行. ㈠函数 ⑴什么是函数 函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块. ⑵ ...
随机推荐
- 小甲鱼PE详解之输入表(导出表)详解(PE详解09)
小甲鱼PE详解之输出表(导出表)详解(PE详解09) 当PE 文件被执行的时候,Windows 加载器将文件装入内存并将导入表(Export Table) 登记的动态链接库(一般是DLL 格式)文件一 ...
- GSON解析
1.把GSON.jar包放到工程lib目录下并依赖 2.使用HiJSON工具格式化json字符串 2.创建对象类 public class MyNews { public News_Paramz pa ...
- 【转】apache kafka技术分享系列(目录索引)
转自: http://blog.csdn.net/lizhitao/article/details/39499283 估计大神会不定期更新,所以还是访问这个链接看最新的目录list比较好 apa ...
- 浅析C#中的Attribute(转)
最近用到了,所以静下心来找些资料看了一下,终于把这东西搞清楚了. 一.什么是Attribute 先看下面的三段代码: 1.自定义Attribute类:VersionAttribute [Attribu ...
- Android RelativeLayout 实现左右中布局
效果图如下: 代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns ...
- bug记录
1>-[DYMessageNewsTableView _contentOffsetForScrollingToRowAtIndexPath:atScrollPosition:]: row (37 ...
- cocos3 singleton
class TestSingleton : public CCLayer { public: static TestSingleton* getInstance();//创建一个全局访问点,例如我们常 ...
- POJ 3281 (最大流+匹配+拆点)
题目链接:http://poj.org/problem?id=3281 题目大意:有一些牛,一堆食物,一堆饮料.一头牛要吃一份食物喝一份饮料才算满足,而且牛对某些食物和饮料才有好感,问最多有多少头牛是 ...
- 【BZOJ】1603: [Usaco2008 Oct]打谷机(水题+dfs)
http://www.lydsy.com/JudgeOnline/problem.php?id=1603 这种水题... dfs没话说.. #include <cstdio> #inclu ...
- 【NOI2015】品酒大会
一年一度的“幻影阁夏日品酒大会”隆重开幕了.大会包含品尝和趣味挑战两个环节,分别向优胜者颁发“首席品酒家”和“首席猎手”两个奖项,吸引了众多品酒师参加. 在大会的晚餐上,调酒师 Rainbow 调制了 ...