javascript基础知识积累1

1. javaScript 中对函数参数的定义
a. 参数名可以重复,但通过此参数名获取的值为实际传递参数值的最后一个,
例如function getA(a ,a ,b ,b){} 如果在此方法内调用此变量,则a,b的值都为实际传参的第二个,会覆盖
如果实际传递参数值的个数少于重名参数个数,那么通过此参数名获取的值为undefined
例如function getA(a ,b ,c ,d){} 如果调用函数为getA(a ,b) ,则在此方法内调用此变量,那么c ,d就是为undefined

b. 即使函数申明了参数,调用时也可以不传递参数值
这个在工作中经常遇到,不像java,他的函数传参可以任意传参数

c. 调用函数时可以传递若干个参数值给函数,而不用管函数声明时有几个参数,并且实际传递的参数值还都可以在函数内获得
这中情况我倒没有相同,那多传的参数可以这么在函数内获得了?都没有变量啊?

上面的这些特性是因为函数再被调用时候,一个arguments对象就会被创建,他负责管理参数和一些其他属性,包括获取所有实际参数值

2. 内部函数 ,匿名函数
既然函数是一种数据类型,那么它也可以被赋值给变量,函数的另一种创建方式如下:
//创建一个匿名函数
var func = function() {
  alert('func');
}
调用此函数就是
func();

//返回函数类型的值
var func = function() {
  return function() {
   alert('这是一个内部匿名函数');
  }
}
func()(); //两次调用第一次是返回一个函数,再次调用才返回这个函数的值,第一次还没看懂这个用法,后来看了几遍看懂了

//还有一种特殊的函数
(function() {alert('创建后直接运行')})();

3. 代码中同一个object实例对象有两个引用,所以必须释放着两个引用,垃圾收集器才认为这个对象不再被调用
4. 宿主对象的定义:Flash实现了动画的制作,那么Flash就是宿主,对于浏览器中的JS,浏览器就是宿主
把不依赖于宿主而实现的对象就做本地对象。

5. arguments 对象
a. caller
var a = new Function("alert ('a:'+a.caller)");
function b(){
  a();
  alert('b:' + b.caller);
}
b();

上面的第一次调用 alert出来的董事就是function b 的内容
而第二次是为空 null
caller 属性并不是arguments对象的,而是函数本身的属性,它显示了函数的调用者,如果函数在全局执行环境被调用,那么他得知为null,如果在另外一个函数中被
调用,他的值就是那个函数。


6、 css中只支持一种注释格式如下
/*   */

猜你喜欢

转载自lyz8jj0.iteye.com/blog/2379179