说到内置顶层函数,那么先来解释一下什么叫内置,什么叫顶层。
内置:ECMAScript。
内置函数:ECMAScript自带的函数,例如Number()函数。
宿主函数:由于JavaScript是基于浏览器运行的,所以BOM,DOM里的函数都是宿主函数,这是因为它们都是由浏览器提供的,其他的宿主函数还有:alert(),confirm()。
confirm()解释:
<Script>
var a = confirm("您确定要继续吗?");
alert(a);
</Script>
1、escape()对字符串进行编码。例如:
<Script>
var a = "袁钲壹";
document.write(escape(a));
</Script>
编码后的结果是:%u8881%u94B2%u58F9。
2、unescape()对字符串进行解码。例如:
<Script>
var a = "%u8881%u94B2%u58F9";
document.write(unescape(a));
</Script>
解码后的结果是:袁钲壹。
3、Number() 转换成数值类型。例如:
<Script>
var a = new String("111");
var b = new Boolean(true);
var c = new String("天下");
document.write(Number(a));
document.write("</br>");
document.write(Number(b));
document.write("</br>");
document.write(Number(c));
</Script>
结果是:
111
1
NaN
4、String() 转换成字符串类型。例如:
<Script>
var a = 12121;
alert(typeof(String(a)));
</Script>
结果为:
这个结果证明原来的整型数被转换成了字符串类型。
5、Boolean()转换成布尔型。例如:
<Script>
var a = 0;
alert(Boolean(a));
</Script>
结果为:false,除0以外的数在被转化成布尔类型时都是”true“。
6、parseInt() 将字符串转换为整型。例如:
<Script>
var s = "123567876543";
alert(typeof(parseInt(s)));
</Script>
结果为:
7、parseFloat() 转换为浮点型数。例如:
<Script>
var s = "1.21";
alert(typeof(parseFloat(s)));
</Script>
结果为:
8、isNaN() 判断一个数能否转换成数值类型。
9、isFinite() 判断一个数是否为有穷数字,如果不是有穷数字或不能转换成数值类型的数将会返回假,否则返回
10、eval() 将字符串转换成JavaScript命令执行(此字符串必须符合JavaScript语法规范,否则会出错)。例如:
<Script>
eval("var a = '天下';alert(a);")
</Script>
结果为:
有人会问为什么要这样写呢,直接输出不就行了,这是因为有些时候我们进行某些操作后返回的是字符串形式的JavaScript语句,因此就需要使用eval()对这种形式的JavaScript语句进行处理。
下面来看一下eval()中变量的作用域。
<Script>
function a() {
eval("var b = '天下';")
alert(b);
}
a();
alert(b);
</Script>
第一个alert(b)会弹出”天下“,但是当执行第二个alert(b)时会显示变量b未定义的错误。所以
IE:
eval():在当前作用域生效。
window.eval() 在当前作用域生效。
execScript()在全局生效。例如:
<Script>
function a() {
window.execScript("var b ='天下';");
alert(b);
}
a();
alert(b);
</Script>
FF:
eval():在当前作用域生效。
window.eval() 在全局生效。
一个完整的JavaScript实现是由以下三个部分组成的。
1、ECMAScript(核心)。
2、DOM(文档对象模型)。
3、BOM(浏览器对象模型)。
ECMAScript描述了以下内容:
1、语法。
2、类型。
3、语句。
4、保留字。
5、关键字。
6、运算符。
7、对象。
ECMAScript就好像是一个最初的规则制定者,定义了所有脚本语言的所有属性、方法和对象,其他语言可以实现ECMAScript来作为其功能的基准。
DOM(文档对象模型):全称“Document Object Model”规定了访问HTML和XML的接口,提供了访问HTML文档(如body,form,div,textarea等)的途径以及操作方法。
BOM(浏览器对象模型):提供了独立于内容而在浏览器窗口之间进行交互的对象和方法,如提供了访问某些功能(如浏览器大小,版本信息,浏览历史记录等)的途径以及操作方法。
注:BOM,DOM都是基于ECMAScript语法的。