函数调用:

/*    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. MATLAB学习笔记(十一)——MATLAB图形用户界面设计

    (一)菜单设计 一.建立用户菜单 1.概况: 用户菜单一般含有一级菜单和二级菜单,乃至多级菜单.每一级菜单又包含多个菜单项.建立菜单可以使用uimenu函数. 2.uimenu函数调用: %建立一级菜 ...

  2. 我与C++的不解情缘

    我是一个老实人,我当时报考C++真的全心是为了自己自考的免考,绝不是为了什么二级证,可是,进行到一半的时候,突然获悉,C++自我们这次开始,不作为免考科目了,当时我的心里啊,那个纠结,那个痛啊,随后, ...

  3. Android 返回键双击退出程序

    /** * 菜单.返回键响应 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == K ...

  4. try-catch 示例

    package unit5; import java.util.Scanner; import javax.print.CancelablePrintJob; import javax.sound.m ...

  5. Playmaker Input篇教程之引入的核心概念

    Playmaker Input篇教程之引入的核心概念 Playmaker Input引入的核心概念 Playmaker引入了4个核心概念:状态机.动作.变量和事件.了解它们是学习操作Playmaker ...

  6. 用indexOf判断设备

    通过userAgent去判断,先判断是否为移动端,可以判断是iOS终端和Android终端,也可以具体到应用进行判断微信,微博,qq访问. <!DOCTYPE html> <html ...

  7. Google不支持小于12px字体 终极办法

    每个浏览器厂商都会自己有设计的主观性,而这些出发点看似很好的却往往深深地伤害程序员. 1.需求 呈现指定为Google浏览器,字号为6-8px(为了打印细小的尺寸). 2.探索 2.1 CSS HAC ...

  8. Sql不区分大小写查询

    select a.* from Pair_User  a where 1=1   and   UPPER(a.UserID) like 'EMH1001%' collate Chinese_PRC_C ...

  9. C# params参数的应用

    为了将方法声明为可以接受可变数量参数的方法,我们可以使用params关键字来声明数组,如下所示: public static Int32Add(params Int32[] values) { Int ...

  10. 【wikioi】1004 四子连棋

    题目链接 算法:BFS //2014-02-05更新 *******************************2013-10-15******************************* ...