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中的布尔运算符使用介绍
Nov 20 Javascript
浅谈JavaScript的Polymer框架中的事件绑定
Jul 29 Javascript
详解javascript传统方法实现异步校验
Jan 22 Javascript
JavaScript判断变量是否为数组的方法(Array)
Feb 24 Javascript
JavaScript对象数组排序实例方法浅析
Jun 15 Javascript
JavaScript解析JSON格式数据的方法示例
Jan 24 Javascript
JQuery实现图片轮播效果
May 08 jQuery
在vue中使用echarts图表实例代码详解
Oct 22 Javascript
详解element-ui中form验证杂记
Mar 04 Javascript
利用angular自动编译andriod APK的绕坑经历分享
Mar 08 Javascript
vue滚动固定顶部及修改样式的实例代码
May 30 Javascript
微信小程序自定义顶部组件customHeader的示例代码
Jun 03 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
人工智能开始玩《星际争霸2》 你的操作跟得上吗?
2017/08/11 星际争霸
PHP中使用hidef扩展代替define提高性能
2015/04/09 PHP
php中static 静态变量和普通变量的区别
2016/12/01 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
2017/05/09 PHP
thinkphp中的多表关联查询的实例详解
2017/10/12 PHP
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
jquery.form.js用法之清空form的方法
2014/03/07 Javascript
js 动态修改css文件的方法
2014/08/05 Javascript
js Calender控件使用详解
2015/01/05 Javascript
响应式表格之固定表头的简单实现
2016/08/26 Javascript
BootStrap便签页的简单应用
2017/01/06 Javascript
Bootstrap表单制作代码
2017/03/17 Javascript
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
vue.js 微信支付前端代码分享
2018/02/10 Javascript
Vue2.0用户权限控制解决方案的示例
2018/02/10 Javascript
vue 登录滑动验证实现代码
2018/08/24 Javascript
小程序实现五星点评效果
2018/11/03 Javascript
jQuery分组选择器简单用法示例
2019/04/04 jQuery
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
2019/04/09 Javascript
2分钟实现一个Vue实时直播系统的示例代码
2020/06/05 Javascript
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
Python 堆叠柱状图绘制方法
2019/07/29 Python
python数据爬下来保存的位置
2020/02/17 Python
世界第一冲浪品牌:O’Neill
2016/08/30 全球购物
德国低价购买灯具和家具网站:Style-home.de
2016/11/25 全球购物
荷兰皇家航空公司中国官网:KLM中国
2017/12/13 全球购物
英国最大的宝石首饰超市:QP Jewellers
2018/09/23 全球购物
大学生村官承诺书
2014/03/28 职场文书
献爱心标语
2014/06/21 职场文书
2014年居委会工作总结
2014/12/09 职场文书
新生开学寄语大全
2015/05/28 职场文书
辛德勒的名单观后感
2015/06/03 职场文书
红色电影观后感
2015/06/18 职场文书
中学生国庆节演讲稿2015
2015/07/30 职场文书
MySQL系列之十一 日志记录
2021/07/02 MySQL
Windows Server 2022 超融合部署(图文教程)
2022/06/25 Servers