5.7 Global对象

encodeURI encodeURIComponent decodeURI decodeURIComponent

用特殊的utf-8编码替换所有无效的字符,从而让浏览器能理解

var uri = "http://www.baidu.com/illegal value.html#start";
l(encodeURI(uri));//http://www.baidu.com/illegal value.html#start
l(encodeURIComponent(uri));//http%3A%2F%2Fwww.baidu.com%2Fillegal%20value.html%23start
l(decodeURI(uri));//http://www.baidu.com/illegal value.html#start
l(decodeURIComponent(uri));//http://www.baidu.com/illegal value.html#start

eval 像一个完整的ECMAScript解析器

严格模式下可能,外部访问不了eval中创建的任何变量和参数

Gobal对象的属性

undefined NaN Infinity Object Array Function Boolean String Number
Date RegExp Error EvalError RangeError ReferenceError SyntaxError TypeError URIError

window 对象

在全局作用域中声明的所有变量和函数,都变成了window对象属性

var color = "red";
function sayColor(){
l(window.color);
}
window.sayColor();//red var global = function(){
return this;
}
  1. Math 对象的属性
Math.e
Math.LN10
Math.LN2
Math.LOG2E
Math.LOG10e
Math.PI
Math.SQRT1_2
Math.SQRT2
  1. min max 方法
var max = Math.max(3, 54, 32, 16);
l(max);//54
var min = Math.min(3, 54, 32, 16);
l(min);//3
//这个技巧的关键是把Math对象作为apply()的第一个参数,从而正确设置this
var values = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var max = Math.max.apply(Math, values);
l(max);//10
  1. ceil floor round
l(Math.ceil(25.9)); //26
l(Math.ceil(25.5));// 26
l(Math.ceil(25.1));// 26
l(Math.floor(25.9));//25
l(Math.floor(25.5));//25
l(Math.floor(25.1));//25
l(Math.round(25.9));//26
l(Math.round(25.5));//26
l(Math.round(25.1));//25
  1. random 方法
// 1-10
var num = Math.floor(Math.random() * 10 +1);
l(num);
// 2-10
var num = Math.floor(Math.random() * 9 + 2);
l(num);
// 随机函数
function selectForm(lowerValue, upperValue){
var choices = upperValue - lowerValue + 1;
return Math.floor(Math.random()* choices + lowerValue);
}
var num = selectForm(2, 10);
l(num);
var colors = ['red', 'green', 'blue', 'yellow', 'black', 'purple', 'brown'];
var color = colors[selectForm(0, colors.length - 1)];
l(color);
  1. 其他方法

    Math.abs() Math.exp() Math.log() Math.pow() Math.sqrt() Math.acos()

5.7 Global对象的更多相关文章

  1. 5.7.1.3 Global 对象的属性

    Global对象还包含了一些属性,例如,特殊的值undefined.NaN以及Infinity都是Global对象的属性.此外,所有原生引用类型的构造函数,像Object和Function,也都是Gl ...

  2. 重操JS旧业第四弹:Date与Global对象

    1 Date原理 Date类型表示时间,js中采用UTC国际协调时间,以1971年1月1日0分0秒0微秒开始,经过的毫秒数来表示时间,比如一年的时间计算 1分:1000*60: 1小时:1000(毫秒 ...

  3. 第一百零八节,JavaScript,内置对象,Global对象字符串编码解码,Math对象数学公式

    JavaScript,内置对象,Global对象字符串编码解码,Math对象数学公式 学习要点: 1.Global对象 2.Math对象 ECMA-262对内置对象的定义是:"由ECMASc ...

  4. CSS 换行问题white-space属性 window对象和global对象

    white-space: nowrap禁止换行 1.word-wrap:break-word; 内容将在边界内换行,仅用于块对象,内联对象要用的话,必须要设定height.width或display: ...

  5. JavaScript的内置对象(Global对象)

    内置对象的定义 由 javaScript 实现提供的.不用自己创建,这些对象在 ECMAScript 程序执行之前就已经存在了. 意思就是说,开发人员不必显示地实例化内置对象:因为它们已经实例化了. ...

  6. node基础—global对象(全局对象)

    global对象的__filename属性和__dirname属性 __filename属性:返回当前执行的文件的文件路径,该路径是经过解析后的绝对路径,在模块中,该路径是模块文件的路径,此属性并非全 ...

  7. JS中的Global对象

    Global对象可以说是ECMAScript中最特别的一个对象了.因为不管你从什么角度上看,这个对象都是不存在的.ECMAScript中的Global对象在某种意义上是作为一个终极的“兜底儿对象”来定 ...

  8. JavaScript中的global对象,window对象以及document对象的区别和联系

    JavaScript中的global对象,window对象以及document对象的区别和联系 一.概念区分:JavaScript中的global对象,window对象以及document对象 1.g ...

  9. global对象,数据存储方式和检测,包装器对象等

    1.理解global对象 global对象是作为 window 对象的一部分实现的,我们无法通过代码访问到 global 对象. 我们平时在全局环境下定义的内容(变量,函数,常量等等)都是作为 glo ...

  10. 单体内置对象——Global对象

    单体内置对象的定义:由ECMAScript实现提供的.不依赖于宿主环境的对象,这些对象在ECMAScript程序执行之前已经存在了.意思就是说:开发人员不必显式地实例化内置对象,因为他们已经实例化了. ...

随机推荐

  1. 网络编程:阻塞I/O和线程模型

    线程 进程模型在处理用户请求的过程中,进程切换上下文的代价比较高,而,一种轻量级的模型可以处理多用户连接请求,那就是线程模型. 线程(thread)是运行在进程中的一个"逻辑流", ...

  2. Median of Two Sorted Arrays---LeetCode进阶路④

    题目描述 There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of th ...

  3. Seata源码—8.Seata Saga模式的事务处理

    大纲 1.Seata Saga案例简介 2.Seata Saga案例的状态机定义分析 3.Seata Saga分布式事务与状态机关系 4.Seata Saga案例的Dubbo服务调用配置分析 5.Se ...

  4. 使用 C++ 20 协程降低异步网络编程复杂度

    传统异步回调 vs C++20协程 协程是一种函数对象,可以设置锚点做暂停,然后再该锚点恢复继续运行.它是如何应用在网络异步编程方面的,请对比下面的两种代码风格: 基于回调的异步网络编程 先来看一个异 ...

  5. Qt图像处理技术七:轮廓提取

    Qt图像处理技术七:轮廓提取 效果图 原理 图像先二值化让rgb数值相同,只有(0,0,0)或者(255,255,255) 取每个点的周围8个点,如果周围8个点与该点rgb值相同,则需要将该点描黑为( ...

  6. 代码随想录第四天 | 链表part02

    两两交换链表中的节点 用虚拟头结点,这样会方便很多. 本题链表操作就比较复杂了,建议大家先看视频,视频里我讲解了注意事项,为什么需要temp保存临时节点. 题目链接/文章讲解/视频讲解: https: ...

  7. 在云服务器上开MC-Forge服

    在云服务器上开MC-Forge服 记录一下在云服务器上开mc-1.16.5-Forge服. OS: Ubuntu 22.04.2 LTS x86_64 CPU: Intel Xeon Platinum ...

  8. 互联网的前世今生:Web 1.0、2.0、3.0

    101链视界:区块链.隐私计算与金融科技领域的专业知识分享者. ▲ 点击上方第二个"101链视界"关注公众号 2021年,元宇宙成为一个爆火的概念,而Web 3.0也悄悄在海外科技 ...

  9. Django中的分页器以及手绘验证码

    一.分页器 1.分页器的好处 通过分页管理多条数据,可以美化界面并能提高查询效率 2.一般方式进行分页 def get_students(request): page = int(request.GE ...

  10. Filezilla提权漏洞复现

    FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能.可控性.有条理的界面和管理多站点的简化方式使得Filezilla客户端版成为一个方便高效的FTP客户 ...