JavaScript高级程序设计 读书笔记之十一 内置对象Global


Posted in Javascript onMarch 07, 2012

内置对象

定义:由ECMAScript实现提供的、独立于宿主环境的所有对象,在ECMAScript程序开始执行时出现。

由定义可知开发者不必明确实例化内置对象,它已被实例化了。在ECMAScript-262只定义了两个内置对象,即Global和Math

Global

Global对象是ECMAScript中最特别的对象,因为实际上它根本不存在。

由于在ECMAScript中不存在独立的对象,所有函数都必须是某个对象的方法,如前面提到的isNaN()、isFinite()、parseInt()和parseFloat()等,都是Global对象的方法。

escape()、encodeURI()、encodeURIComponent()、unescape()、decodeURI()、decodeURIComponent()、eval()等都是Global的方法。

escape() && encodeURI() && encodeURIComponent()

这几个方法用于对字符串进行编码。

escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z

encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

escape():不建议用,已淘汰

encodeURI():对URL进行编码,示例:

encodeURI("https://3water.com/a file with spaces.html") 
// outputs https://3water.com/a%20file%20with%20spaces.html

encodeURIComponent():对参数进行编码,示例:
param1 = encodeURIComponent("http://xyz.com/?a=12&b=55") 
url ="http://domain.com/?param1="+ param1 +"¶m2=99"; 
// outputs http://www.domain.com/?param1=http%3A%2F%2Fxyz.com%2F%Ffa%3D12%26b%3D55¶m2=99

unescape() && decodeURI() && decodeURIComponent()

这几个方法用于对字符串进行解码。

eval()

eval()可能是ECMAScript语言中最强大的方法,该方法就像整个JavaScript的解释程序,接受一个参数,即要执行的ECMAScript(或JavaScript)字符串。

示例:

var msg="Hello world"; 
eval("alert(msg)");//alert "Hello world"

注意,eval()功能很强大,但也很危险,特别在用eval执行用户输入的内容时,可能会被代码注入。

Global对象的所有属性

Global不只有方法,它还有属性,Global对象的所有属性:

属性 说明
undefined Undifined类型的字面量
NaN 非数的专用数值
Infinity 无穷大值的专用数值
Object Object的构造函数
Array Array 的构造函数
Function Function 的构造函数
Boolean Boolean 的构造函数
String String 的构造函数
Number Number 的构造函数
Date Date 的构造函数
RegExp RegExp 的构造函数
Error Error 的构造函数
EvalError EvalError 的构造函数
RangeError RangeError 的构造函数
ReferenceError ReferenceError 的构造函数
SyntaxError SyntaxError 的构造函数
TypeError TypeError 的构造函数
URIError URIError 的构造函数
作者:天行健,自强不息

出处:http://artwl.cnblogs.com

Javascript 相关文章推荐
js字符编码函数区别分析
Jun 05 Javascript
基于jquery的一个图片hover的插件
Apr 24 Javascript
ExtJS实现文件下载的方法实例
Nov 09 Javascript
js控制当再次点击按钮时的间隔时间
Jun 03 Javascript
js实现横向伸展开的二级导航菜单代码
Aug 28 Javascript
javascript 判断两个日期之差的示例代码
Sep 05 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
May 12 Javascript
JS+CSS3制作炫酷的弹窗效果
Nov 08 Javascript
Vue全家桶实践项目总结(推荐)
Nov 04 Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
Jan 18 Javascript
详解js删除数组中的指定元素
Oct 31 Javascript
Node.js中文件系统fs模块的使用及常用接口
Mar 06 Javascript
拥抱模块化的JavaScript
Mar 07 #Javascript
那些年,我还在学习jquery 学习笔记
Mar 05 #Javascript
什么是DOM(Document Object Model)文档对象模型
Mar 05 #Javascript
JQuery魔力之$("tagName")与selector
Mar 05 #Javascript
30个让人兴奋的视差滚动(Parallax Scrolling)效果网站
Mar 04 #Javascript
Javascript实现DIV滚动自动滚动到底部的代码
Mar 01 #Javascript
用最通俗易懂的代码帮助新手理解javascript闭包 推荐
Mar 01 #Javascript
You might like
选择PHP作为网站开发语言的原因分享
2012/01/03 PHP
ThinkPHP的模版中调用session数据的方法
2014/07/01 PHP
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
php获取网页里所有图片并存入数组的方法
2015/04/06 PHP
基于jquery的分页控件(C#)
2011/01/06 Javascript
js导航菜单(自写)简单大方
2013/03/28 Javascript
javascript中2个感叹号的用法实例详解
2014/09/04 Javascript
jQuery动态创建html元素的常用方法汇总
2014/09/05 Javascript
jquery使用经验小结
2015/05/20 Javascript
JQuery给select添加/删除节点的实现代码
2016/04/26 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
2016/06/21 Javascript
JS如何判断json是否为空
2016/07/06 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
axios学习教程全攻略
2017/03/26 Javascript
基于vue+ bootstrap实现图片上传图片展示功能
2017/05/17 Javascript
[js高手之路]从原型链开始图解继承到组合继承的产生详解
2017/08/28 Javascript
vue实现购物车小案例
2019/09/27 Javascript
python获取标准北京时间的方法
2015/03/24 Python
python脚本内运行linux命令的方法
2015/07/02 Python
Python教程之全局变量用法
2016/06/27 Python
对python中词典的values值的修改或新增KEY详解
2019/01/20 Python
详解Python 调用C# dll库最简方法
2019/06/20 Python
python自定义时钟类、定时任务类
2021/02/22 Python
使用python实现unix2dos和dos2unix命令的例子
2019/08/13 Python
html5自定义video标签的海报与播放按钮功能
2019/12/04 HTML / CSS
美国最大的宠物药店:1-800-PetMeds
2016/10/02 全球购物
德国隐形眼镜店:LuckyLens
2018/07/29 全球购物
7 For All Mankind官网:美国加州洛杉矶的高级牛仔服装品牌
2018/12/20 全球购物
个人银行贷款担保书
2014/04/01 职场文书
企业家王石演讲稿:坚持与放下
2014/04/27 职场文书
十佳中学生事迹材料
2014/06/02 职场文书
节约用水标语
2014/06/11 职场文书
汽车维修求职信
2014/06/15 职场文书
介绍信应该怎么开?
2019/04/03 职场文书
 Redis 串行生成顺序编码的方法实现
2022/04/03 Redis
Python接口自动化之文件上传/下载接口详解
2022/04/05 Python