JavaScript的内置对象(Global对象)
内置对象的定义
由 javaScript 实现提供的、不用自己创建,这些对象在 ECMAScript 程序执行之前就已经存在了。
意思就是说,开发人员不必显示地实例化内置对象;因为它们已经实例化了。
JavaScript只定义了两个内置对象:Global和 Math。
Global(全局)对象概述
javacript 中一个特别的对象,因为这个对象是不存在的。在JavaScript中不属于任何其他对象的属性和方法,都属于它的属性和方法。
所以,事实上,并不存在全局变量和全局函数;所有在全局作用域定义的变量和函数,都是 Global 对象的属性和方法。
因为 JavaScript没有定义怎么调用 Global 对象,所以,Global.属性或者 Global.方法()都是无效的。(Web 浏览器将 Global 作为 window 对象的一部分加以实现)
var box = 100;
//alert(Global.box);//会报错
alert(window.box); //可以使用window来调用
Global 对象的方法_编码
URI 编码可以对链接进行编码,以便发送给浏览器。它们采用特殊的 UTF-8 编码替换所有无效字符,从而让浏览器能够接受和理解。
不会对本身属于 URI 的特殊字符进行编码,例如冒号、正斜杠、问号和#号
URI 编码方法—encodeURI()和encodeURIComponent()
encodeURIComponent()会对它发现的任何非标准字符进行编码
因为 encodeURIComponent()编码比 encodeURI()编码来的更加彻底,一般来说encodeURIComponent()使用频率要高一些。
var box = '//Lee 李';
console.log(encodeURI(box)); //只编码了中文,结果是这样//Lee%20%E6%9D%8E var box = '//Lee 李';
console.log(encodeURIComponent(box)); //特殊字符和中文编码了,结果是这样%2F%2FLee%20%E6%9D%8E
Global 对象的方法_解码
使用了 URI 编码过后,还可以进行解码
URI解码方法—decodeURI()和decodeURIComponent()
var box = '//Lee 李';
box1 = encodeURI(box); //编码
console.log(box1);
console.log(decodeURI(box1));//解码 var box2 = '//Lee 李';
box2 = encodeURIComponent(box); //编码
console.log(box2);
console.log(decodeURIComponent(box2)); //解码
Global 对象的方法_eval()
主要担当一个字符串解析器的作用,他只接受一个参数,而这个参数就是要执行的 JavaScript 代码的字符串。(即可以解析javascript代码)
eval()方法的功能非常强大,但也非常危险。因此使用的时候必须极为谨慎。特别是在用户输入数据的情况下,非常有可能导致程序的安全性,比如代码注入等等。
eval('var box = 100'); //解析了字符串代码
console.log(box); //
eval('console.log(100)'); //同上
eval('function box() {return 123}'); //函数也可以
console.log(box()); //调用这个函数结果是123
Global 对象的方法_parseInt(),parseFloat
返回由字符串转换得到的整数
parseFloat()方法和parseInt()方法类似
var str = "123";
//从头开始解析,直到不能被解析为止
console.log(parseInt(str));//
console.log(parseInt("100"));//
console.log(parseInt("100abc"));//
console.log(parseInt("abc100"));//NaN
console.log(parseInt("100abc0"));// //将第一个参数按第二个参数转换,第二个参数是进制数,如2进制8进制16进制
console.log(parseInt("100",2));//
Global 对象的方法_isNaN
返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。
如果值是 NaN, 那么 isNaN 函数返回 true ,否则返回 false 。
使用这个函数的典型情况是检查 parseInt 和 parseFloat 方法的返回值。
console.log(isNaN(100));//false
console.log(isNaN("jaav")); //true
console.log(isNaN(NaN));//true
console.log(isNaN(parseInt("123lee")));//parseInt("123lee")的结果是123,所以isNaN(123)为false
console.log(isNaN(parseInt("lee123")));//parseInt("lee123")的结果是NaN,所以isNaN(NaN)为true
Global 对象属性
Global 对象包含了一些属性:undefined、NaN、Object、Array、Function 等等。
console.log(Array); //返回构造函数:[Function: Array]
console.log(undefined); //undefined
console.log(Object); // [Function: Object]
window 对象
Global 没有办法直接访问,而 Web 浏览器可以使用 window 对象来实现一全局访问。
alert(window.Array); //返回构造函数
JavaScript的内置对象(Global对象)的更多相关文章
- ES6新特性:Javascript中内置的延迟对象Promise
Promise的基本使用: 利用Promise是解决JS异步执行时候回调函数嵌套回调函数的问题, 更简洁地控制函数执行流程: 通过new实例化Promise, 构造函数需要两个参数, 第一个参数为函 ...
- 第一百零八节,JavaScript,内置对象,Global对象字符串编码解码,Math对象数学公式
JavaScript,内置对象,Global对象字符串编码解码,Math对象数学公式 学习要点: 1.Global对象 2.Math对象 ECMA-262对内置对象的定义是:"由ECMASc ...
- JavaScript 标准内置对象
JavaScript 标准内置对象或称全局的对象(global objects)不要和 全局对象(global object)混淆.这里说的全局的对象是说在全局作用域里的对象,全局作用域包含了全局对象 ...
- 一、JavaScript概述 二、JavaScript的语法 三、JavaScript的内置对象
一.JavaScript的概述###<1>JavaScript的概念 又称ECMAScript,和java没有任何关系 嵌入在HTML元素中的 被浏览器解释运行的 一种脚本语言. ###& ...
- JavaScript 标准内置对象Promise使用学习总结
Javascript标准内置对象Promise使用学习总结 by:授客 QQ:1033553122 1. 基础用法 var condition = true; let p = new Prom ...
- 单体内置对象——Global对象
单体内置对象的定义:由ECMAScript实现提供的.不依赖于宿主环境的对象,这些对象在ECMAScript程序执行之前已经存在了.意思就是说:开发人员不必显式地实例化内置对象,因为他们已经实例化了. ...
- 【Unity】3.1 利用内置的3D对象创建三维模型
分类:Unity.C#.VS2015 创建日期:2016-04-02 一.基本概念 Unity已经内置了一些基本的3D对象,利用这些内置的3D对象就可以直接构建出各种3D模型(当然,复杂的三维模型还需 ...
- javaScript的内置对象
javaScript 有11种内置对象: Array . String .Date .Math . Boolean .Number . Function .Global .Error . RegExp ...
- JavaScript的内置对象和浏览器对象
在javascript中对象通常包括两种类型:内置对象和浏览器对象,此外,用户还可以自定义对象. 对象包含两个要素:1.用来描述对象特性的一组数据,也就是若干变量,通常称为属性.2.用来操作对象特性的 ...
随机推荐
- .NET里面 abstract class和Interface有什么区别以及用法的展现?
前言 很多新人对这个问题已经看到的厌倦或者是恶心了,有可能是因为比较难理解或者是未理解的情况下对它们的认知不够所以产生的想法是差不多,不用抽奖类和接口我一样能实现我想要的功能. 这句话确实不假,但是实 ...
- .Net EF6+Mysql 环境搭建
由于一直使用的数据库是mysql,之前所用的orm都是轻量级的例如 dapper 这些的,然后想用ef配置一下mysql,总共时间花了差不多2天,才将坑填完,写个博客将流程记录一下 给后来者少掉点坑. ...
- Tomcat的Https设置及Http自动跳转Https
Https相关介绍 Https是由NetScape公司设计的一个基于Http的加密传输协议,可以这样理解Https = Http +SSL(安全套接层),Https的端口为443,而且还需要申请 ...
- C#.NET和C++结构体Socket通信与数据转换
最近在用C#做一个项目的时候,Socket发送消息的时候遇到了服务端需要接收C++结构体的二进制数据流,这个时候就需要用C#仿照C++的结 构体做出一个结构来,然后将其转换成二进制流进行发送,之后将响 ...
- 从零开始学安全(二十二)●PHP日期date参数表
$date=new DateTime(); echo $date->format("Y-m-d h:i:s");
- [android] 采用断点调试的方式观察pull解析的流程
当程序出现错误的时候,界面出不来,这个时候就需要调试技巧,描述这个程序在哪个地方出现的问题.在你认为可能出错的代码部分,左侧的行号栏点击打断点,在项目目录右键 ==>debug as ==> ...
- 【Linux命令】grep命令
1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全 ...
- WPF实现主题更换的简单DEMO
WPF实现主题更换的简单DEMO 实现主题更换功能主要是三个知识点: 动态资源 ( DynamicResource ) INotifyPropertyChanged 接口 界面元素与数据模型的绑定 ( ...
- angular select2 下拉单选和多选的取值赋值
官网:http://select2.github.io/examples.html 兼容性: 引入文件 /select2.min.js /select2.min.css html <select ...
- 去除input[type=number]的默认样式
input[type=number] { -moz-appearance: textfield; } input[type=number]::-webkit-inner-spin-button, in ...