1,•ToPrimitive(Number): 将一个对象值转换为原始值,首先调用obj.valueOf().如果返回值是一个原始值,则返回这个原始值.如果不是,则再调用obj.toString().如果返回值是个原始值,返回这个原始值.否则,抛出TypeError异常.
•ToPrimitive(String): 和上面的方法类似,只是优先调用obj.toString()方法而不是obj.valueOf().
2,创建对象的方法:
var x=new object();
var x={ };
var obj={
name={
first:bob;
last:mike;
},
age:23;
}
3,创建数组的方法:
var x=new Array();
var x=[ ];
4,创建和使用栈:利用数组实现数据的存储删除读取等。
栈是先进后出。
function Stack(){
var items[];
this.push=function(element){
items.push(element);
}
this.pop=function(){
return items.pop();
}
this.peek=function(){
return items.peek();
}
this.isEmpty=function(){
returrn items.length==0;
}
this.size=function(){
return items.length;
}
this.clear=function (){
items=[];
}
this.print=function(){
return items.toString();
}
使用栈:
var stack=new Stack();
stack.push(5);
stack.push(8);stack.pop();stack.size();stack.print();stack.peek();stack.isEmpty();stack.clear();
定义栈之后使用其将十进制转换成二进制:
function divideBy2(decNumber){
var remStack=new Stack();
var rem;
var binaryString='';
while(decNumber!=0){
rem=Math.floor(decNumber%2);
remStack=.push(rem);
decNumber=Math.floor(decNumber/2);
}
while(remStack.length!=0){
binaryString+=remStack.pop();
}
return jam;
}
divideBy2(255);//11111
十进制转换成任意进制:
function divideBy2(decNumber, base){
var remStack=new Stack();
var rem;
var binarystring='';
var digits="0123456789ABCDEF";
while(devNumber>0){
rem=Math.floor(devNumber%base);
remStack.push(rem);
devNumber=Math.floor(devNumber/base);
}
while(!remStack.isEmpty()){
binarystring+=digits[remStack.push()];
}
return binarystring;
}
5,队列:队列和栈的实现类似,利用数组实现对数据的操控,但是队列是先进先出。
function queue(){
var item=[ ];
this.enqueue=function(element){
item.push(element);
}
this.dequeue=function(){
return item.shift();
}
this.font()=function(){
return item[0];
}
this.isEmpty()=function(){
return item.length==0;
}
this.size()=function(){
return item.length;
}
this.clear=function(){
item=[ ];
}
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。