当前位置: 首页 > news >正文

JavaScript 全局对象

全局属性和函数可用于所有内建的 JavaScript 对象。

顶层函数(全局函数)

函数描述
decodeURI()解码某个编码的 URI。
decodeURIComponent()解码一个编码的 URI 组件
encodeURI()把字符串编码为 URI。
encodeURIComponent()把字符串编码为 URI 组件。
escape()对字符串进行编码
eval()计算 JavaScript 字符串,并把它作为脚本代码来执行。(execute value)
getClass()返回一个 JavaObject 的 JavaClass。
isFinite()检查某个值是否为有穷大的数。
isNaN()检查某个值是否是数字
Number()把对象的值转换为数字
parseFloat()解析一个字符串并返回一个浮点数。
parseInt()解析一个字符串并返回一个整数。
String()把对象的值转换为字符串。
unescape()对由 escape() 编码的字符串进行解码。

顶层属性(全局属性)

方法描述
Infinity代表正的无穷大的数值。
java代表 java.* 包层级的一个 JavaPackage。
NaN指示某个值是不是数字值。
Packages根 JavaPackage 对象。
undefined指示未定义的值。

全局对象描述

全局对象是预定义的对象,作为 JavaScript 的全局函数和全局属性的占位符。通过使用全局对象,可以访问所有其他所有预定义的对象、函数和属性。全局对象不是任何对象的属性,所以它没有名称。

在顶层 JavaScript 代码中,可以用关键字 this 引用全局对象。但通常不必用这种方式引用全局对象,因为全局对象是作用域链的头,这意味着所有非限定性的变量和函数名都会作为该对象的属性来查询。例如,当JavaScript 代码引用 parseInt() 函数时,它引用的是全局对象的 parseInt 属性。全局对象是作用域链的头,还意味着在顶层 JavaScript 代码中声明的所有变量都将成为全局对象的属性。

全局对象只是一个对象,而不是类。既没有构造函数,也无法实例化一个新的全局对象。

在 JavaScript 代码嵌入一个特殊环境中时,全局对象通常具有环境特定的属性。实际上,ECMAScript 标准没有规定全局对象的类型,JavaScript 的实现或嵌入的 JavaScript 都可以把任意类型的对象作为全局对象,只要该对象定义了这里列出的基本属性和函数。例如,在允许通过 LiveConnect 或相关的技术来脚本化 Java 的 JavaScript 实现中,全局对象被赋予了这里列出的 java 和 Package 属性以及 getClass() 方法。而在客户端 JavaScript 中,全局对象就是 Window 对象,表示允许 JavaScript 代码的 Web 浏览器窗口。

例子

在 JavaScript 核心语言中,全局对象的预定义属性都是不可枚举的,所有可以用 for/in 循环列出所有隐式或显式声明的全局变量,如下所示:

var variables = "";
for (var name in this) 
{
    variables += name + "<br />";
}
document.write(variables);

 

相关文章:

  • CMake详解
  • CMake脚本编写
  • vs2015使用教程
  • vs项目配置
  • VS项目属性的一些配置项的总结
  • 引入Irvine32库
  • vs2019安装教程
  • cef3 Binary Distributions下载及示例编译
  • VS2019直接编译cmake项目
  • C++调用构造函数的方式
  • chrome和Chromium有什么区别
  • C++ 函数指针及delegate的几种方法
  • C++中 模板Template的使用
  • c++函数后加冒号
  • CEF-概述和常用功能介绍(GeneralUsage翻译)
  • JavaScript 如何正确处理 Unicode 编码问题!
  • 【EOS】Cleos基础
  • bearychat的java client
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • python 装饰器(一)
  • vue自定义指令实现v-tap插件
  • 阿里云购买磁盘后挂载
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 力扣(LeetCode)21
  • 马上搞懂 GeoJSON
  • 前端性能优化——回流与重绘
  • 如何进阶一名有竞争力的程序员?
  • 温故知新之javascript面向对象
  • 7行Python代码的人脸识别
  • 阿里云服务器购买完整流程
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​ubuntu下安装kvm虚拟机
  • #大学#套接字
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (第61天)多租户架构(CDB/PDB)
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (七)c52学习之旅-中断
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)大型网站的系统架构
  • 、写入Shellcode到注册表上线
  • .bat文件调用java类的main方法
  • .NET MVC 验证码
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .net2005怎么读string形的xml,不是xml文件。
  • .Net的DataSet直接与SQL2005交互
  • .NET开源项目介绍及资源推荐:数据持久层
  • .NET框架设计—常被忽视的C#设计技巧
  • .NET微信公众号开发-2.0创建自定义菜单
  • @Controller和@RestController的区别?
  • [Android] 240204批量生成联系人,短信,通话记录的APK