内置对象是什么意思?
就是指javascript本身就已经存在的对象,已经实例化好了的对象,不必再显式的去实例化它,直接就可以使用的。
javasctipt的内置对象有哪些?
1. global全局对象。
*这个对象比较特殊,它并不显式的存在于javascript中,也就说,并不存在 global.xx 这样方式的调用!
实际上,所有被全局定义的变量或者函数都是global对象的属性和方法。所以,这里内置对象细分来说,又包括一些:
* 基本数据封装类对象:Object、String、Array、Boolean、Number,可以通过alert(Array)的方式查看,他返回的是这个对象所指向(封装)的方法(函数):function Array(){//code}。
* 其他global的属性和方法:
1. 编码方法:
encodeURI(str);//该编码方法不会对英文和特殊符号进行编码(包括正斜杠/,英文的,.+=-之类),只对汉字进行编码。
encodeURIComponent(str);//对除英文之外的所有的非标准字符都进行编码
document.write(encodeURI('xzl+,/=++-=哈哈哈')+"<br/>");//xzl+,/=++-=%E5%93%88%E5%93%88%E5%93%88
document.write(encodeURIComponent('xzl+,/=++-=哈哈哈'));//xzl%2B%2C%2F%3D%2B%2B-%3D%E5%93%88%E5%93%88%E5%93%88
2.解码方法:
decodeURI(str);//同编码的encodeURI()方法,只对汉字进行解码
decodeURIComponent(str);//同encodeURIComponent()的编码规则
3.eval(str)方法:
*主要作为字符串解析器来用,将str当做javascript代码来解析
eval('alert(1+3)');//4
ps: 危险的javascript代码,经过eval()自动解析过后,会造成攻击,也就是代码注入
4.window对象:
web浏览器可以通过使用window对象来访问全局的属性或函数(方法),所以,
document.write(Boolean);//function Boolean() { [native code] }
// 又等价于:
document.write(window.Boolean);//function Boolean() { [native code] }
5.Math对象:主要是一些数学计算的应用。主要的一些方法:
*舍入方法:
//向上舍入:
alert(Math.ceil(25.8));//26
alert(Math.ceil(25.5));//26
alert(Math.ceil(25.1));//26
//向下舍入:
alert(Math.floor(25.8));//25
alert(Math.floor(25.5));//25
alert(Math.floor(25.1));//25
//标准舍入(四舍五入)
alert(Math.round(25.8));//26
alert(Math.round(25.5));//26
alert(Math.round(25.1));//25
*随机数的应用:
function getRandom(start,end){
var total = (end-start)+1;
return Math.floor(Math.random()*total + start);
}
for (var i =0;i<10;i++){
document.write(getRandom(1,3)+"<br/>");//得到[1-3]之间的随机数
/*
3
2
1
3
2
2
3
3
2
1
*/
}