JavaScript对象
在 JavaScript中,几乎所有的事物都是对象。JavaScript 对象是拥有属性和方法的数据。
var car = {type:"Fiat", model:500, color:"white"};
可以说 "JavaScript 对象是变量的容器"。但是,我们通常认为 "JavaScript 对象是键值对的容器"。
键值对通常写法为 name : value (键与值以冒号分割)。键值对在 JavaScript 对象通常称为 对象属性。
访问方式:car.type; car["type"];
对象方法:
var person = {name : "miki", age : 20, introduce: function(){return "I am" + this.name + this.age;}};
person.introduce();
JavaScript函数
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
语法:
function functionName(){
执行代码
}
可以有参数和返回值
与c#不同的是不用指定返回值和参数的类型。
function sum(a,b){
return a+b;
}
JavaScript作用域
在JavaScript中,对象和函数也是变量。作用域指可访问变量,对象,函数的集合。
局部作用域:变量在函数内部声明,变量为局部作用域。只能在函数内访问。
全局变量:变量在函数外声明,网页中所有脚本和函数均可使用。
注:如果在函数内部没有使用var声明变量,改变量为全局变量。
在HTML中,全局变量是window对象,所有数据变量都属于window对象。
JavaScript预定义的全局函数
parseInt();
parseFloat();
Number();
isNaN();
encodeURI();
URL : Uniform Resource Locator 统一资源定位符/器
URI : Uniform Resource Identifier 统一资源标识符
作用:对URL格式的字符串进行编码,将多字节的字符编码成单字节的字符
注:URL对多字节的字符无效
eval();
作用:计算并执行以字符串方式表示的JS代码
递归函数
自己调用自己
递归的实现:1.边界条件 2.递归前进--继续调用自己 3.递归返回--向上返回数据
function Factorial(a){
if(a==1){return 1}
else{return a*Factorial(a-1)}
}
可简写为
function Factorial(a){
return a==1?1:a*Factorial(a-1);
}
可以将方法体中的函数名更改为 arguments.callee,好处是当函数名更改时,不用更改方法体中的名字。