6-JS函数(二)
函数
函数的实参和形参
function temp (a,b){ console.log(a) }; // a , b为两个形参
var a1 = 2;
var b1 = 3;
temp(a1,b1); //a1 , b1为两个实参
- 当调用函数的时候传入的实参比函数声明指定的形参个数要少,剩下的形参都将设置为undefined.
- 在函数体内,我们可以用标识符arguments来访问传入函数的实参值。实参对象是一个类数组对象(拥有一个数值length属性和对应非负整数属性的对象看做一种类型的数组),这样可以通过数字下标来访问。
函数prototype
每一个函数都包含一个prototype属性,这个属性是指向一个对象的引用,这个对象称为“原型对象”(prototype object)。每一个函数都包含不同的原型对象。当将函数用作构造函数的时候,新创建的对象会从原型对象上继承属性。
function Counter(){
this.add=function(a,b){
console.log(a+" + "+b+" = "+ (a+b));
};
};
Function.prototype.minus = function(a,b){
console.log(a+" - "+b+" = "+(a-b))
};
Object.prototype.multiply = function(a,b){
console.log(a+" * "+b+" = "+a*b)
};
Counter.prototype.devide = function(a,b){
console.log(a+" / "+b+" = "+a/b);
};
function Example(){
};
var temp = new Counter();
var temp2 = Counter;
var temp3 = Object.create(temp);
temp3.add(1,5);
temp.add(1,3);
temp2.multiply(1,3);
temp.devide(3,2);
console.log("add" in temp);
console.log("minus" in temp);
console.log("multiply" in temp);
console.log("devide" in temp);
1 + 5 = 6
1 + 3 = 4
1 * 3 = 3
3 / 2 = 1.5
true
false
true
true
函数作用域
- 1.JS的变量作用域是函数级的。
- 2.JS编程环境的顶级作用域是window对象下的范围,称为全局作用域,全局作用域中的变量称为全局变量。
- 3.JS函数内的变量无法在函数外面访问,在函数内却可以访问函数外的变量,函数内的变量称为局部变量。
- 4.函数可以嵌套,多个函数的层层嵌套构成了多个作用域的层层嵌套,形成了JS的作用域链。
- 5.JS作用域链的变量访问规则是:如果当前作用域内存在要访问的变量,则使用当前作用域的变量,否则到上一层作用域内寻找,直到全局作用域,如果找不到,则该变量为未声明。
代码示例
var a = 1;
var c = 3;
function example(a){
var a = 3;
b = 2;
console.log("a="+a);
}
example(2);
function example2(c){
console.log("b="+b+",c="+c);
}
example2(4);
function example3(d){
var d = 4;
return function example4(){
console.log("d="+d);
}
}
var temp = example3();
temp();
a=3
b=2,c=4
d=4
6-JS函数(二)的更多相关文章
- (八)js函数二
1.变量 a)局部变量:在所有函数内部定义的变量,或者在函数内部未使用var声明的变量也属于全局变量. b)全局变量:在所有函数外部定义的变量. eg: 1) var a = 5,b = 4, ...
- 通用js函数集锦<来源于网络> 【二】
通用js函数集锦<来源于网络> [二] 1.数组方法集2.cookie方法集3.url方法集4.正则表达式方法集5.字符串方法集6.加密方法集7.日期方法集8.浏览器检测方法集9.json ...
- VC与JavaScript交互(二) --- 调用JS函数
这一章,我们来动手实践VC调用JS函数. 我们动手写一个HTML,其中包含这样一段JS代码: //[html] <script type="text/javascript"& ...
- Js函数function基础理解
正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法.因此,函数名实际上是指向函数对象的指针,不与某个函数绑定.在常见的两种定 ...
- js函数的调用问题
1.js函数的调用方式有三种.请问以下“二”处的几行代码有什么猫腻? //一 事件调用 btn.onclick=fn; //二 直接调用(window调用) fn(); //自上而下解析到这一行的时候 ...
- JS函数和变量
JS函数和变量 函数: 函数是由事件或者当它被调用时执行的可重复使用的代码块. 是一个独立的代码块,实现特定功能模块. 函数他不进行调用触发的话,不会自己主动执行. 像ATM机一样,不去取钱的话不会 ...
- js 函数定义三种方式
<p>Js 函数定义的三种方式:</p> <br> <p>方式一:function</p> <script type="te ...
- 在JS函数中执行C#中的函数、字段
1.调用字段 cs文件的代码: ; protected void Page_Load(object sender, EventArgs e) { id = ; } js页面的代码: function ...
- AS与JS相互通信(Flex中调用js函数)
转载自http://www.blogjava.net/Alpha/archive/2009/06/27/284373.html Flex中As调用Js的方法是: 1.导入包 (import f ...
- js函数大全
js函数集·字符串(String) 1.声明 var myString = new String("Every good boy does fine."); var myStrin ...
随机推荐
- JSon_零基础_007_将JSon格式的"数组"字符串转换为Java对象"数组"
将JSon格式的"数组"字符串转换为Java对象"数组". 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“n ...
- JS 实现中英文翻译
缺点就是还是会闪出中文,但是效果还行. var langPackage = { "主题":"Title", "下一页":"Next ...
- 02---Net基础加强
将普通日期格式:“2014年7月8日”转换成汉字日期格式:“二零一四年七月八日”.(暂时不考虑10日,13日,23日) class Program { static void Main(string[ ...
- ViewModel在MVC3中的应用:一个view显示多个model
在mvc3中,默认是一张数据表对应一个model,一个视图 view只显示一个model. 但是有些时候,我们一个视图上可能需要显示多个model的内容,即一个网页可能要展示多张表的信息,那怎么办呢, ...
- react编译器jsxTransformer,babel
1.JSX是什么JSX其实是JavaScript的扩展,React为了代码的可读性更方便地创建虚拟DOM等原因,加入了一些类似XML的语法的扩展. 2.编译器——jsxTransformerJSX代码 ...
- php基础知识和函数
<?php /* echo "hello","aaaa"; //输出语法,可以输出多个字符串 print "world"; //可以输 ...
- Parse_ini_file
parse_ini_file() 函数解析一个配置文件,并以数组的形式返回其中的设置. 注释:本函数可以用来读取你自己的应用程序的配置文件.本函数与 php.ini 文件没有关系,该文件在运行脚本时就 ...
- 广播发送者&广播接收者介绍
1.广播接收者 广播接收者简单地说就是接收广播意图的Java类,此Java类继承BroadcastReceiver类,重写: public void onReceive(Context context ...
- JS判断checkbox至少选择一项
function Check() { if(checkboxs("checkboxname") == false){ // checkboxname: checkbox的名字 al ...
- BlueDroid介绍 【转】
转自:http://blog.csdn.net/fen_liu/article/details/41213167 [-] 基本结构 代码区 http://www.cnblogs.com/hzl6255 ...