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 CSS操作方法集合
Oct 31 Javascript
JavaScript 打地鼠游戏代码说明
Oct 12 Javascript
JS对象转换为Jquery对象实现代码
Dec 29 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
Apr 26 Javascript
谈谈对JavaScript原生拖放的深入理解
Sep 20 Javascript
如何使用headjs来管理和异步加载js
Nov 29 Javascript
yii form 表单提交之前JS在提交按钮的验证方法
Mar 15 Javascript
jQuery 改变P标签文本值方法
Feb 24 jQuery
详解Vue CLI3 多页应用实践和源码设计
Aug 30 Javascript
Vue组件通信的几种实现方法
Apr 25 Javascript
微信小程序如何引用外部js,外部样式,公共页面模板
Jul 23 Javascript
低门槛开发iOS、Android、小程序应用的前端框架详解
Oct 16 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
风味层面去分析咖啡油脂
2021/03/03 咖啡文化
基于mysql的论坛(1)
2006/10/09 PHP
PHP中return 和 exit 、break和contiue 区别与用法
2012/04/09 PHP
thinkphp中ajax与php响应过程详解
2014/12/08 PHP
YII Framework教程之异常处理详解
2016/03/14 PHP
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
js 可拖动列表实现代码
2011/12/13 Javascript
js操作输入框提示信息且响应鼠标事件
2014/03/25 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
AngularJs 指令详解及示例代码
2016/09/01 Javascript
jQuery UI插件实现百度提词器效果
2016/11/21 Javascript
Bootstrap 填充Json数据的实例代码
2017/01/11 Javascript
js 获取html5的data属性实现方法
2017/07/28 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
小程序转发探索示例
2019/02/19 Javascript
fastadmin中调用js的方法
2019/05/14 Javascript
在Vue.js中使用TypeScript的方法
2020/03/19 Javascript
在react中使用vue的状态管理的方法示例
2020/05/02 Javascript
微信小程序文章列表功能完整实例
2020/06/03 Javascript
微信小程序使用前置摄像头拍照
2020/10/22 Javascript
vue使用transition组件动画效果的实例代码
2021/01/28 Vue.js
[01:51]开启你的城市传奇 完美世界城市挑战赛开始报名
2018/10/09 DOTA
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
Python import与from import使用及区别介绍
2018/09/06 Python
Python3获取电脑IP、主机名、Mac地址的方法示例
2019/04/11 Python
python3模拟实现xshell远程执行liunx命令的方法
2019/07/12 Python
html5+svg学习指南之SVG基础知识
2014/12/17 HTML / CSS
草莓网化妆品加拿大网站:Strawberrynet Canada
2016/09/20 全球购物
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类
2012/02/06 面试题
linux下进程间通信的方式
2014/12/23 面试题
成绩单公证书
2014/04/10 职场文书
小学生清明节演讲稿
2014/09/05 职场文书
Python获取字典中某个key的value
2022/04/13 Python
MySQL远程无法连接的一些常见原因总结
2022/09/23 MySQL