您的位置:首页 > Web前端 > JQuery

js与jquery 学习随笔(二)

2012-12-27 23:48 309 查看
<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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: