单体内置对象
内置对象:对象已经实例化了,开发者不必显式的实例化内置对象.
例如:Object,Array,String,Global,Math...
1.1 Global(全局)
global对象,不管从什么角度看都是不存在的,但实际是存在的一个对象,所有不属于任何对象的属性和方法都是它的。事实上,没有全局变量或全局函数,所有在全局中定义的属性和函数,都是属于Global的属性和函数.
-
URI编码-解码方法
有效的URI(网址)不能包含某个字符:空格、中文等,都用UTF8编码替换无效字符
//URI编码
var uri = "http://www.baidu.com?word#中 文";
//方式一:
var encodeByURI = encodeURI(uri);
console.log(encodeByURI);//-->http://www.baidu.com?word#%E4%B8%AD%20%E6%96%87
//方式二:****
var encodeByURIComponent = encodeURIComponent(uri);
console.log(encodeByURIComponent);
//-->http%3A%2F%2Fwww.baidu.com%3Fword%23%E4%B8%AD%20%E6%96%87
encodeURI():用于整个URI:不会对本身属于URI的特殊字符进行编码(冒号,正斜杠,问号,#号)encodeURIComponent():对URI中的某一段进行编码.会对它发现的任何非标准字符进行编码.(更优)
//URI解码
//方式一:
var decodeURI = decodeURI(encodeByURI);
console.log(decodeURI);//-->http://www.baidu.com?word#中 文
//方式二:****
var decodeURIComponent = decodeURIComponent(encodeByURIComponent);
console.log(decodeURIComponent);//-->http://www.baidu.com?word#中 文
-
eval():最强大的方法,但是安全性不好
解析器会将传入到eval中的参数当做实际的js语句来解析,然后把执行结果插入到原来位置
//alert(String),传入的参数为string类型
eval("alert('hi!')");//相当于-->alert("hi");
function operator(op){
var str = 2+op+3;
return eval(""+str+"");
}
var res = operator("+");
console.log(res);//-->5
-
window
ECMAScript虽然没有指出如何直接访问global对象,但web浏览器都是将这个全局对象作为window对象的一部分加以实现的。因此,在全局作用域中声明所有的变量和函数,都成了window对象的属性.[BOM对象中详解]
var color="red";
function sayColor(){
alert(window.color);
}
window.sayColor();
- parseInt():函数可解析一个字符串,并返回一个整数。可按进制解析。
- parseFloat():函数可解析一个字符串,并返回一个浮点数。
- isNaN():函数用于检查其参数是否是非数字值。
1.2 Math
js中提供了数学公式和信息,与我们直接写计算功能相比,Math的执行效率要快很多。
//1.常用属性
Math.PI
Math.E
//2.常用方法
max()/min()://找最大,最小
ceil()/floor/round()://舍入方法
random()://随机数 0~ 1
pow(num,power)://求幂
sqrt(num)://开方
2.基本包装类-Boolean,Number,String
每当读取一个基本类型值时,后台就会创建一个对应的基本包装类型的对象,让我们能够调用一些方法来操作这些数据。方法可以直接使用,类似于java.
浙公网安备 33010602011771号