位置: 编程技术 - 正文

Javascript Global对象

编辑:rootadmin

Global对象

Global对象是ECMAScript中最特别的对象,因为实际上它根本不存在。如果尝试编写下面的代码,将得到错误:

错误消息显示Global不是对象,但刚才不是说Global是对象吗?没错。这里需要理解的主要概念是,在ECMAScript中,不存在独立的函数,所有函数都必须是某个对象的方法。本书前面介绍的函数,如isNaN()、isFinite()、parseInt()和parseFloat()等,看起来都像独立的函数。实际上,它们都是Global对象的方法。而且Global对象的方法不止这些。

encodeURI()和encodeURIComponent()方法用于编码传递给浏览器的URI(统一资源标识符)。有效的URI不能包含某些字符,如空格。这两个方法用于编码URI,这样用专门的UTF-8编码替换所有的非有效字符,就可以使浏览器仍能够接受并理解它们。

encodeURI()方法用于处理完整的URI(例如, value.htm),而encodeURIComponent()用于处理URI的一个片断(如前面的URI中的illegal value.htm)。这两个方法的主要区别是encodeURI()方法不对URI中的特殊字符进行编码,如冒号、前斜杠、问号和英镑符号,而encodeURIComponent()则对它发现的所有非标准字符进行编码。例如:

这段代码输出两个值:

可以看到,除空格外,第一个URI无任何改变,空格被替换为%。第二个URI中的所有非字母数字字符都被替换成它们对应的编码,基本上使这个URI变得无用。这就是encodeURI()可以处理完整URI,而encodeURIComponent()只能处理附加在已有URI末尾的字符串的原因。

自然,还有两个方法用于解码编码过的URI,即decodeURI()和decodeURIComponent()。如你所料,这两个方法所做的恰与其对应的方法相反。decodeURI()方法只对用encodeURI()方法替换的字符解码。例如,%将被替换为空格,而%不会被替换,因为它表示的是英镑符号(#),encodeURI()并不替换这个符号。同样的,decodeURIComponent()会解码所有encodeURIComponent()编码过的字符,意味着它将对所有的特殊值解码。例如:

这段代码输出两个值:

在这个例子中,变量uri存放的是用encodeURIComponent()编码的字符串。生成的值说明了应用两个解码方法时会发生的事情。第一个值由decodeURI()输出,把%替换成空格。第二个值由decodeURIComponent()输出,替换所有的特殊。

这些URI方法encodeURI()、encodeURIComponent()、decodeURI()和decodeURICom- ponent()代替了BOM的escape()和unescape()方法。URI方法更可取,因为它们会对所有Unicode符号编码,而BOM方法只能对ASCII符号正确编码。尽量避免使用escape()和unescape()方法。

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

这行代码的功能等价于下面的代码:

当解释程序发现eval()调用时,它将把参数解释为真正的ECMAScript语句,然后把它插入该函数所在的位置。这意味着eval()调用内部引用的变量可在参数以外定义:

这里,变量msg是在eval()调用的环境外定义的,而警告仍然显示的是文本"hello world",因为第二行代码将被替换为一行真正的代码。同样,可以在eval()调用内部定义函数或变量,然后在函数外的代码中引用:

这里,函数sayHi()是在eval()调用内部定义的。因为该调用将被替换为真正的函数,所以仍可在接下来的一行中调用sayHi()。

这种功能非常强大,不过也非常危险。使用eval()时要极度小心,尤其在给它传递用户输入的数据时。恶意的用户可能会插入对站点或应用程序的安全性有危害的值(叫做代码注入)。

Global对象不只有方法,它还有属性。还记得那些特殊值undefined、NaN和Infinity吗?它们都是Global对象的属性。此外,所有本地对象的构造函数也都是Global对象的属性。下表较详细地说明了Global对象的所有属性:

推荐整理分享Javascript Global对象,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

Javascript Global对象

属 性

说 明

undefined

Undefined类型的字面量

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的构造函

什么是JavaScript 什么是JavaScriptJavaScript是一种基于对象和事件驱动的客户端脚本语言。JavaScript最初的设计是为了检验HTML表单输入的正确性。JavaScript起源于Netscape公司的L

javascript 触发事件列表 比较不错 1.单击事件___onclick用户单击鼠标按键时产生的事件.同时onclick指定的事件处理程序或代码将被调用执行.如:inputtype="button"value="打开页面"onlick="window.open('xx

关于javascript中的parseInt使用技巧 要对表单中填写的日期格式进行客户端验证,于是在网上找了段代码,其中用到parseInt对年月日做判断,其中有类似这样的语句:......elseif(parseInt(month)1|

标签: Javascript Global对象

本文链接地址:https://www.jiuchutong.com/biancheng/382955.html 转载请保留说明!

上一篇:Javascript Math对象(javascript中math.ceil)

下一篇:什么是JavaScript(什么是质数)

  • 临时性雇佣人员是指
  • 不得公开发行股票的情形
  • 开发票价格能否比实际金额高
  • 收入比开票多如何处理好
  • 年报现金流量表可以不填吗
  • 折扣优惠 印花税也是折扣缴纳吗
  • 政府收回土地使用权
  • 房租租金收入都缴纳什么税金
  • 公司车买保险怎么付款
  • 财务人士必知消防知识
  • 收不回来应收账款会计分录
  • 融资租赁的服务费的标准
  • 代购的货可以退吗
  • 纳税人和征税对象的区别
  • 医院企业所得税免税吗
  • 还在讨论“税务金四”上线?税务和银行要联手清查单位和个人账户了!
  • 非雇佣劳务
  • 公司开出的发票
  • 购买固定资产的税率是多少
  • 上级拨入资金计入什么科目
  • 用友t3怎样查询报表
  • 核定征收和查账征收,交的税一样吗
  • 工会经费缴纳比例是哪里规定的
  • cmos电池低是什么意思
  • 材料暂估的会计分录怎么做
  • php实现查询功能
  • yoosee怎么安装
  • 代开增值税发票沒有付款怎么做账?
  • 接口500错误原因
  • 委托加工应税消费品的纳税义务人是受托方
  • windows安装配置
  • 怎么开通公众号微信公众平台
  • smart局部变量
  • thinkphp调用控制器中的方法
  • 用友软件怎么删除已经建立的账套
  • php use关键字
  • printfi
  • 公司购买家电开什么发票
  • 年报数据和四季度数据一样吗
  • 织梦收费5800的解决方法
  • 工程完工补付工程款会计分录
  • 供热管道属于什么结构类型
  • 企业的主要经营指标有哪些
  • 培训机构财务怎么做账
  • 酒店客房成本计算公式
  • 应交增值税转入未交增值税怎么算
  • 微信,支付宝等第三方支付对货币的影响
  • 个体户也需要纳税吗
  • 结转以后年度抵免的境外所得税怎么进行会计处理
  • 折让折扣负数发票的会计处理
  • 对外服务应收取的款项
  • 零申报报表怎么填写
  • 收购溢价会计处理
  • 记账凭证的基本要素包括
  • 支票小写金额可以涂改吗
  • 年底未分配利润在贷方
  • 固定资产卡片录入日期怎么改
  • 选择业务组合的原则是什么
  • where条件加判断
  • win8电脑恢复系统怎么操作
  • 虚拟机怎么不能玩游戏
  • win10屏幕亮度怎么调节快捷键
  • mac osx 10.8
  • win8系统升级后怎么退回
  • Win10 Mobile 10586.312提前体验
  • echarts怎么用
  • 游戏开发指南笔趣阁
  • 微信小程序tabbar字体颜色
  • 加快构建新发展格局,着力推动高质量发展心得体会
  • shell字符串比较相等
  • android.view.window.addflags
  • 详解杭州亚运会会徽和口号
  • 浏览器判断手机品牌
  • python 字符串
  • jquery 获取html
  • 如何搭建python项目架构
  • flask pycharm
  • 四川税务app下载安装
  • 企业税费如何计算
  • 深化体制改革的根本
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设