在JavaScript中内置了几个系统函数,这些系统函数可以在JavaScript代码中随时随处调用,因此也称为全局函数。
函数 | 说明 |
eval(expr) | 执行字符串expr中的javaScript代码 |
decodeURI(encodedURI) | 将encodedURI进行解码 |
decodeURIComponent(encodedURI) | 将URI组件进行解码 |
encodeURI(URI) | 将URI进行编码 |
encodeURIComponent(String) | 将URI组件进行编码 |
escape(string) | 将string进行编码 |
isFinite(number) | 判断number是不是无穷大 |
isNaN(testValue) | 判断testValue是否为NaN |
Number(objRef) | 将objRef转换为数字 |
parseFloat(str) | 将str转换为浮点型数据 |
parseInt(str,[,radix]) | 将str转换为整型数据 |
String(objRef) | 将objRef转换成字符串 |
unescape(string) | 将string进行编码 |
一:eval(expr) 执行字符串expr中的javaScript代码
var str="1+2"; document.write(str); document.write(eval(str));
以上是一个最简单的例子第一行输出是“1+2”,第二行输出是“”3“,eval执行了str中的语句
二:isFinite(number) 检测一个值是否是无穷大
//以下代码返回false document.write(isFinite(Infinity),"<br>"); document.write(isFinite(-Infinity),"<br>"); document.write(isFinite(NaN),"<br>"); //以下代码返回true document.write(isFinite(123),"<br>"); document.write(isFinite(true),"<br>"); document.write(isFinite("123"),"<br>"); //以下代码返回false document.write(isFinite("abc"),"<br>");
以上代码中Infinity式javaScript中的常量表示无穷大,而-Infinity则表示负无穷大,NaN也是一个常量表示不是数字
根据上面的代码,这个函数是判断是不是有穷大,当是数字或者布尔型返回true,"123"可以隐式转换成数字型
而数字型,无穷大,非数字都是false
三:isNaN(testValue) 检测一个值是否是非数字
//以下代码返回true document.write(isNaN(NaN),"<br>"); document.write(isNaN("abc"),"<br>"); document.write(isNaN(undefined),"<br>"); //以下代码返回false document.write(isNaN(Infinity),"<br>"); document.write(isNaN(123),"<br>"); document.write(isNaN(true),"<br>"); document.write(isNaN("123"),"<br>"); document.write(isNaN(null),"<br>");
NaN非数字,和字母都返回true,值得注意的是undefined(未定义),也不是数字
而布尔型,数字型,null都被javaScript认定是数字返回false
四:parseInt(str,[,radix]) 转换成整数
str:被转换的字符串
radix:用于说明被转换数字的进制,默认是10进制,这个参数是可以省略的,这里我感觉非10进制不太重要,所以不总结这个参数了
javaScript中有两个函数可以转换成整数parseInt(str),Number(str),下面这个例子来说明两个函数之间的区别
var str01="123"; var str02="abc"; var str03="123abc"; var str04="abc123" //返回123 document.write(parseInt(str01),"<br>"); //返回123 document.write(Number(str01),"<br>"); //返回NaN document.write(parseInt(str02),"<br>"); //返回NaN document.write(Number(str02),"<br>"); //返回123 document.write(parseInt(str03),"<br>"); //返回NaN document.write(Number(str03),"<br>"); //返回NaN document.write(parseInt(str04),"<br>"); //返回NaN document.write(Number(str04),"<br>"); //返回NaN document.write(parseInt(null),"<br>"); //返回0 document.write(Number(null),"<br>"); //返回NaN document.write(parseInt(undefined),"<br>"); //返回NaN document.write(Number(undefined),"<br>");
通过以上例子可以清楚的看到:在转换过程中Number()函数遇到不能转换的字符串,将会返回NaN,而如果parseInt()函数遇到不能转换的字符串,它将转换到不能转换为止。这就是两个函数的唯一区别
实际上,parseInt()函数是被设计来把字符串转换成整数,而Number()函数是设计用来把对象转换整数,而根据javaScript的机制,如果不是字符串和对象,容器会隐式转换,也就是自动转换成字符串或对象
所以我们看null被转换时null被封装为对象,而null对象转换成整形是0
四:字符串编码与解码
escape(string):字符串 → ISO字符集中的16进制编码
unescape(string): ISO字符集中的16进制编码 → ISO字符集中的16进制编码
举个栗子:
var str="escape()函数和unescape()函数"; var escapeStr=escape(str); var unescapeStr=unescape(escapeStr); document.write("原始字符串是:",str,"<br>"); document.write("将字符串编码之后是:",escapeStr,"<br>"); document.write("将编码之后的字符串再解码是:",unescapeStr,"<br>");
输出是这样的:
原始字符串是:escape()函数和unescape()函数
将字符串编码之后是:escape%28%29%u51FD%u6570%u548Cunescape%28%29%u51FD%u6570
将编码之后的字符串再解码是:escape()函数和unescape()函数
相关推荐
1、decodeURI() 参数:string 功能描述:对 encodeURI() 函数编码过的 URI 进行解码。 实例: 可把 //www.jb51.net/My first/ 解码为 //www.jb51.net/My first/ 2、decodeURIComponent() 参数:string 功能描述:函数可对...
JavaScript进阶:JS的全局变量和全局函数.docx
全书共9章,分别介绍了JavaScript函数式编程、一等函数与Applicative编程、变量的作用域和闭包、高阶函数、由函数构建函数、递归、纯度和不变性以及更改政策、基于流的编程、类编程。除此之外,附录中还介绍了更多...
函数 JavaScript 全局函数 定义和用法 eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行。 如果参数是一个表达式,eval() 函数将执行表达式。如果参数是Javascript语句,eval(&#...
2.4 在Javascript中访问C++全局函数及变量 2.5 在C++中“声明”“Javascript类”, 供Javascript实例化 2.6 封装完整的C++类到Javascript中,供Javascript实例化 三、Google v8的开源应用 3.1 Node.js ...
该项目只有一个文件projectk.js ,它将原始的jeForth减少为只有两个FORTH单词“ code ”和“ end-code ”,以及一些其他JavaScript全局函数,例如push() , pop() , tos() tick()和last()等的好处是,有JavaScript...
第3部分深入探索JavaScript,介绍了语法、值、运算符、布尔类型、数字、字符串、语句、异常捕获、函数、变量、对象与继承、数组、正则表达式、Date、Math、JSON、标准全局变量、编码和JavaScript、ECMAScript 5的新...
匿名函数可以有效的保证在页面上写入Javascript,而不会造成全局变量的污染。这在给一个不是很熟悉的页面增加Javascript时非常有效,也很优美。
javascript中声明函数的方法有两种:函数声明式和函数表达式. 区别如下: 1).以函数声明的方法定义的函数,函数名是必须的,而函数表达式的函数名是可选的. 2).以函数声明的方法定义的函数,函数可以在函数声明之前调用,...
主要介绍了JavaScript中的全局对象介绍,对于任何JavaScript程序,当程序开始运行时,JavaScript解释器都会初始化一个全局对象以供程序使用,需要的朋友可以参考下
JavaScript函数调用规则一 (1)全局函数调用: function makeArray( arg1, arg2 ){ return [this , arg1 , arg2 ]; } 这是一个最常用的定义函数方式。相信学习JavaScript的人对它的调用并不陌生。 调用代码如下: ...
《JavaScript+DHTML语法与范例详解词典》词条包含的主要内容有JavaScript的全局函数和基础对象的函数和属性;如何通过JavaScript DOM对象来动态地操作整个HTML文档,对HTML元素进行添加、移动、修改或删除;XMLDOM的...
JavaScript对于全局函数内的this绑定为全局对象,而对于嵌套函数也采用了相同的解释。
作用:可以有效的避免全局变量的污染以及函数名的冲突问题。 说明:既是函数表达式的另一种表示形式,又可通过函数声明的方式实现调用。 5.5 匿名函数 2. 匿名函数 var fn = function (num1, num2) { return num1 + ...
如果一个函数不是 JavaScript 对象的方法,那么它就是全局对象的函数(参见前一章)。 下面的例子创建了带有三个属性的对象(firstName、lastName、fullName)。 var person = { firstName:"Bill", las
//普通全局函数 var _alert = null; function myalert(param){console.log("before hook");} alert.hook("_alert",myalert); alert.unhook("_alert","alert"); alert(1); //自定义对象匿名函数 function Person() {...
2. 作用域链、全局作用域和全局对象 我们知道,JS中的每个函数在执行时都会产生一个新的作用域。具体来说,在执行流程进入函数时会建立一个新的作用域,在函数执行完成退出时会销毁这个作用域。函
javascript 思维导图 (变量,数据类型,运算符和表达式,函数 ,全局函数,分支结构,循环结构,数组,String,正则表达式,Math,Date,Error,OOP,Es5)
//全局变量 g_sourceSubstr = "`~" //要替换的字串 g_objecSubstr = "\"" //替换为的字串 /***************************************** 功能:检查是否含有"'",'\\',"/"等等 参数:ParseString 要检查的字符串 ...