学习笔记:Javascript真让人晕
JS的函数特殊性:JS中的函数可以被当做一种数据类型来看待,是真正的数值,因此可以被存储在变量数组和对象中,也可以作为参数传递给其他的函数,可以被赋值给某个对象的属性。
定义一个概念:函数直接量(function literal),见例子:
//使用函数定义来定义函数function square(x){return x*x;}//使用函数直接量来定义:var squre = function(x){return x*x;}
var i=0;function square(x){var j=i;//j=i;}square(i);alert(typeof(j));
function square(x){var i=0;var j=0;for(var k=0;k<10;k++){document.write(k);}document.write(k);document.write(j);alert(i+","+j+","+k);}square(1);//得到0,0,10,而不是0,0,undefined
var param="global";function t(){alert(param);//得到global,全局变量其起作用}t();
var param="global";function t(){alert(param);//得到undefined。其实在这里局部变量param已经定义了var param="local";alert(param);//得到local}t();//函数t中声明了局部变量,局部变量的优先级高于全局变量
var o={x:1,y:2};alert(delete o.x);//删除对象的属性,返回truealert(typeof o.x);//undefinedalert(delete(o.x));//删除不存在的属性,返回truealert(delete o);//o是用var声明的,不能删除,返回falsealert(delete 1);//不能删除一个整数,返回falsex=1;alert(delete x);//可以删除没用var声明的变量,返回truealert(":"+typeof(x));//undefined
<a href="javascript:void window.open();">Open New Window</a>