<html>
<head></head>
<body>
<script>
var temp = "temp" ;
var s1;
var i = 11;
var t = null ;
var b = new Boolean(true);//Boolean 对象
var b1 = Boolean(true); //Boolean类型的数值
/** js类型如下**/
//document.write(typeof(temp) +"</br>")
//document.write(typeof s1+"</br>")
//document.write(typeof i +"</br>")
//document.write(typeof t +"</br>")
//document.write(typeof b +"</br>")
//document.write(typeof b1+"</br>")
/**js字符串与数字转换**/
var num = 11.11
//document.write(temp.length+"</br>")
//document.write(i.toString(16)+"</br>")//转换成16进制
//document.write(num.toString()+"</br>")
//document.write(b.toString()+"</br>")
//document.write(parseInt(num)+"</br>")
//document.write(parseFloat(i)+"</br>")
/**
js算不算纯正的面向对象的语言呢?个人觉得应该不算,
虽然prototype可以实现面向对象的特性,但js语言本身带有偏向带有基于函数的特性。
/**Number对象**/
var numObj = new Number(12.12);
//document.write(numObj+"</br>")
//document.write(numObj.toFixed(4)+"</br>")//精度为4位
//document.write(numObj.toPrecision(1)+"</br>")
//document.write(numObj.toPrecision(2)+"</br>")
//document.write(numObj.toPrecision(3)+"</br>")
/**js中的类**/
function ClassA(sArgs1,sArgs2){
this.sArgs1 = sArgs1;
this.sArgs2 = sArgs2;
this.doOp = function(){
return (this.sArgs1+this.sArgs2);
};
this.say = function(){
return 1;
}
}
ClassA.prototype.doAdd = function(){
return this.sArgs1+this.sArgs2;
}
var classA = new ClassA(1,2);
var classB = new ClassA(2,3);
//document.write("doOperation: "+classA.doOp()+" doAdd: "+classA.doAdd()+"</br>");
//document.write("doOperation: "+classB.doOp()+" doAdd: "+classB.doAdd()+"</br>")
/**js 类的继承**/
function ClassB(sArgs1,sArgs2){
this.Method = ClassA;
this.Method(sArgs1,sArgs2);
delete this.Method;
}
var cB = new ClassB(2,5);
//document.write(cB.doOp())
function ClassC(args1,args2){
this.Method = ClassB;
this.Method(args1,args2);
delete this.Method;
this.sayHello = function(){
return "Hi "+this.name+", "+this.welMessgae;
}
this.doChange = function(rx1,rx2){
return rx1+rx2;
}
}
var person = new Object;
person.name = "sunflower";
person.welMessgae ="welcome";
var classC = new ClassC(9,9);
document.write(classC.sayHello.call(person)+"</br>")//call方法的定义是:可以代替另一个对象调用方法。
document.write(classC.sayHello.apply(person)+"</br>")//apply方法的定义是:劫持另外一个对象的方法,继承另外一个对象的属性
var obj = new Object;
document.write(classC.doChange.call(obj,12,12)+"</br>")
document.write(classC.doChange.apply(obj,[13,13])) //一些资料是这样描述call方法与apply方法:
//apply方法与call方法在作用上面是相同的,在参数传递上面有着区别
</script>
</body>
</html>