Object类型
是ecmascript中最常见的引用类型,但是对于在应用程序中存储和传输数据而言很重要。
创建object类型的方式有两种
1,使用new创建
var person = new object();
person.name="John";
2,使用对象字面量
var person={name:"wangt",age:23}
也可以使用var person={}其作用和意义与使用new一样
Array类型
js中的数组可以存放任何类型的数据,例如第一个值可以是字符串,第二个可以说整形。
创建var array=new Array();
或者可以指定长度var array =new Array(30);
也可以省略new,或者使用var color=["red","blue","green"]
数组的栈方法(先进后出)
var color=new Array()
color.push("001","002","003")
var p=color.pop();//p的值为003
队列方法(先进先出)
var color=new Array()
color.push("001"."002","003")
color.shift();//输出001
push()方法是推入数据,pop()方法返回最后推入的数据。shift()输出最早输入的数据。unshift()输入数据。
重排序方法:
reserve()方法会反转数组,sort()会按照升序排序数组。
位置方法:
indexof(),从数组的开头查找
lastindexof()从数组的末尾开始查找。
迭代方法:
every():对数组中的每一项都执行特定的方法,如果每一项都返回true则返回true。
var result=[1,2,3,4,5,6,7,8,9]
var fuck=result.every(function(item,index,array){item>0})
alert(fuck)//true
filter():对数组中的每一项都执行特定的方法,只返回值为true的项。
Date类型
var date=newDate()//如果使用不带参数的date构造方法则直接返回当前的时间。
Date.parse()方法使用表示时间的字符串转换成datetime。如果字符串不能表示时间就返回NaN。
var date=new Date(Date.parse("May 23,2014"))
Function类型
函数实际上就是一个对象。函数名就是一个指向函数对象的指针。
function sum(num1,num2)
{
return num1+num2;
}
var add=sum;
alert(add(10,10));//print 20
alert(sum(10,10));//print 20
sum=null;
alert(add(10,10))//print 20
吧函数名想想成指针有利于理解重载。
function add(num)
{
return num+10;
}
function add(num)
{
return num+20;
}
alert(add(10));//print 40
在创建了第二个方法的时候已经覆盖了第一个方法。
作为值的函数:
function callfuction(add,10)
{
return add(10);
}
function add(num)
{
return num+30;
}
函数的内部属性:
arguments的主要作用是保存函数参数,它有个属性叫callee,该属性是个指针,用来表示拥有该参数的函数。
function plus(num1)
{
return num1*arguments.callee(num1-1);
}
另一个函数对象this。this引用的是函数据以执行的环境对象。
gobole的encodeuri()和encodeuricomponent()方法可以对uri进行编码,以便发送给浏览器。
encodeuri对字符串进行编码的时候,除了空格被编码其他的都不变。
与前两者对应的方法是decodeuri和的codeURIC噢磨破嫩头()
window对象:
在全局作用域中声明的变量都将成为window的属性。