ECMAScript中所有函数的参数都是按值传递的.也就是说把函数外部的值复制给函数内部的参数(内部参数的值的修改不影响实参的值). 基本类型变量的复制: 基本类型变量的复制,仅仅是值复制,num1和num2的5是完全独立的.: var num1 = 5; var num2 = num1; 基本类型值(Undefined,Null,String,Number,Boolean)的传递如同基本类型变量的复制一样: function addTen(num){ num += 10; return num…
我们把命名参数(arguments)视为局部变量,在向参数传递基本类型值时,如同基本类型变量的复制一样,传递一个副本,参数在函数内部的改变不会影响外部的基本类型值.如: function add10(num){ num += 10 ; return num ; } var count = 10 ; var result = add10(count); alert(count);// 10 alert(result); //20 在向参数传递引用类型的值时,会把这个值 在内存中的地址复制给一个局部…
第2章  在html中使用javascript 一般都会把js引用文件放在</body>前面,而不是放在<head>里, 目的是最后读取js文件以提高网页载入速度. 引用js文件时可以使用defer属性, 意思是延迟加载, 最后加载. 或者async属性, 意思是异步加载,不必等待其他脚本加载也不会阻塞文档加载. <script type='text/javascript' defer='defer' src='example.js'></script> &…
待更新... 9.17更新: ECMAScript中所有函数的参数都是按值传递的.也就是说,把函数外部复制给函数内部的参数,就和把值从一个变量复制到另一个变量一样.基本类型值的传递如同基本类型变量的复制一样,儿引用类型值的传递,则如同引用类型变量的复制一样.访问变量有按值和按引用两种方式,而参数只能按值传递. 在向参数传递基本类型的值时,被传递的值会赋值给一个局部变量(即命名参数,或者用ECMAScript的概念来说,就是arguments对象中的一个元素).在向参数传递引用类型的值时,会把这个…
[javascript中所有函数的参数都是按值传递的] 参考:http://www.jb51.net/article/89297.htm…
第二章  在HTML中使用JS 加载JS有三种:行内,head头部和外部链接JS   最好使用外部链接<script src="example.js" ></script>(推荐),在script标签中不需要放任何代码,放了也会被忽略.也可以使用<script src="example.js" /> 但是语法不符合HTML规范  所以不要这样写. 在传统做法中,script放在head中,但是会等到加载完JS再执行DOM,页面会延…
第22章 高级技巧 1.高级函数 (1)安全的类型检测 在任何值上调用Object原生的toString()方法,都会返回一个[object NativeConstructorName]格式的字符串.每个类在内部都有一个[[Class]]属性,这个属性中就指定了上述字符串中的构造函数名. 基于这一思路来测试某个值是不是原生函数或正则表达式,如: function isFunction(value){ return object.prototype.toString.call(value) ==…
第8章 BOM 1.window对象 (1)全局作用域 BOM的核心对象是window,它表示浏览器的一个实例.在浏览器中,window对象既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象. 所有在全局作用域中声明的变量.函数都会变成window对象的属性和方法. (2)窗口关系及框架 如果界面中包含框架,这每个框架都拥有自己的window对象,并且保存在frames集合中,可以通过数值的索引(从0开始,从左至右,从上到下)或者框架名称来访问相…
第6章 面向对象的程序设计 创建对象 1.最简单方式创建Object的实例,如 var person = new Object(); person.name = “Greg”; person.age = 27; person.job = ”Doctor”; person.sayName = function() { alert(this.name); }; person. sayName(): 缺点:会产生大量重复代码 2.工厂模式:用函数来封装以特定接口创建对象的细节,如 function c…
    Array类型. ECMAScript数组的每一项可以保存任何类型的数据. 数组大小是可以动态调整的. 创建数组第一种基本方式方式: 使用Array构造函数 var colors = new Array(); var colors = new Array(20);//length为20的数组f var colors = new Array("Red","Blue","Yellow",1);//创建包含3个字符串和一个数字的数组 创建数组第…