JavaScript对象,函数,作用域

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,好处是当函数名更改时,不用更改方法体中的名字。

原文地址:https://www.cnblogs.com/1016391912pm/p/11789038.html