1、encodeURI(URI)

  a、作用:是对统一资源标识符(URI)进行编码的方法;

  b、参数:是一个完整的URI;

  c、特点:不需要对保留字以及在URI中有特殊意思的字符进行编码。

    (1)、保留字符:; , / ? : @ & = + $

    (2)、非转义字符:字母 数字 - _ . ! ~ * ' ( )

    (3)、数学符号:#

2、decodeURI(encodedURI)

  a、作用:解码由encodeURI或者类似方法编码的统一资源标识符(URI);

  b、参数:一个完整编码过的URI;

  c、特点:将已编码 URI 中所有能识别的转义序列转换成原字符,但不能解码那些不会被 encodeURI 编码的内容(例如 "#")。

3、encodeURIComponent(str)

  a、作用:是对统一资源标识符(URI)组成部分进行编码的方法;

  b、参数:String.URI的组成部分;

  c、特点:转义除了字母、数字、(、)、.、!、~、*、'、-和_之外的所有字符。

4、decodeURIComponent(encodedURI)

  a、作用:解码由encodeURIComponent或者类似方法编码的统一资源标识符(URI);

  b、参数:编码后的部分URI;

  c、特点:将已编码 URI 中所有能识别的转义序列转换成原字符。

5、eval(str)

  a、作用:将传入的字符串当做javascript执行;

  b、参数:字符串,需要计算的表达式或者执行的语句;

  c、返回值:代码执行后的返回值,否则为undefined;

  d、特点:(1)、如果参数不是字符串,原封不动的返回;(2)、直接调用,使用的是当前作用域, 间接调用,使用的是全局作用域。

eval(new String("2 + 2")); // 返回了包含"2 + 2"的字符串对象
eval("2 + 2"); // returns 4
function test() {
var x = 2, y = 4;
console.log(eval("x + y")); // 直接调用,使用本地作用域,结果是 6
var geval = eval;
console.log(geval("x + y")); // 间接调用,使用全局作用域,throws ReferenceError 因为`x`未定义
}

6、isFinite(testVal):类似于Number.isFinite(testVal)

  a、作用:判断testVal是否为一个有限的值;

  b、参数:传入字符串,会转换成数字再判断。注意:Number.isFinite(testVal)不会转换类型。

  c、返回值:true/false;

isFinite(Infinity);     // false
isFinite(-Infinity); // false
isFinite(0); // true
isFinite(2e64); // true
isFinite("0"); // true
isFinite(NaN); // false
isFinite(null); // true
isFinite(undefined); // false
isFinite(true); // true
isFinite(false); // true Number.isFinite(Infinity); // false
Number.isFinite(-Infinity); // false
Number.isFinite(0); // true
Number.isFinite(2e64); // true
Number.isFinite("0"); // false
Number.isFinite(NaN); // false
Number.isFinite(null); // false
Number.isFinite(undefined); // false
Number.isFinite(true); // false
Number.isFinite(false); // false

7、isNaN( testVal )

  a、作用:判断一个值是否是NaN,将参数强制转换成数字再进行判断。

  b、返回值:true/false

  c、特点:(1)、NaN不能通过==和===来判断,NaN == NaN 和 NaN === NaN 都返回false;(2)、算数运算得到无法表示或未定义的值时,为NaN;(3)、不能强制换行成数字时,为NaN;(4)、0除以0会返回NaN —— 但是其他数除以0则不会返回NaN。

escape(),unescape():已经放弃使用。

  d、注意:通过Number.isNaN(x)来检测变量x是否是一个非数值将会是一种可靠的做法。然而,在缺少Number.isNaN函数的情况下, 通过表达式(x != x) 来检测变量x是否是NaN会更加可靠。

isNaN = function(value) {
Number.isNaN(Number(value));
} isNaN(NaN); // true
isNaN(undefined); // true
isNaN({}); // true
isNaN(0 / 0); // true
isNaN(5 / 0); // false
isNaN(true); // false
isNaN(null); // false
isNaN(37); // false
isNaN("37"); // false: 可以被转换成数值37
isNaN("37.37"); // false: 可以被转换成数值37.37
isNaN(""); // false: 空字符串被转换成0
isNaN(" "); // false: 包含空格的字符串被转换成0
isNaN(new Date()); // false
isNaN(new Date().toString()); // true
isNaN("blabla") // true: "blabla"不能转换成数值 //和全局函数 isNaN() 相比,该方法不会强制将参数转换成数字,只有在参数是真正的数字类型,且值为 NaN 的时候才会返回 true。
Number.isNaN(NaN); // true
Number.isNaN(undefined); // false
Number.isNaN({}); // false
Number.isNaN(0 / 0); // true
Number.isNaN(5 / 0); // false
Number.isNaN(true); // false
Number.isNaN(null); // false
Number.isNaN(37); // false
Number.isNaN("37"); // false: 不可以被转换成数值37
Number.isNaN("37.37"); // false: 不可以被转换成数值37.37
Number.isNaN(""); // false: 不空字符串被转换成0
Number.isNaN(" "); // false: 不包含空格的字符串被转换成0
Number.isNaN(new Date()); // false
Number.isNaN(new Date().toString()); // false
Number.isNaN("blabla") // false: "blabla"不能转换成数值

8、null 和 undefined

  a、null:javascript字面量,javascript原始值之一,表示空值,不是全局对象的属性

  b、undefined:javascript原始值之一,是javascript的原始数据类型,是全局对象的属性

typeof null        // object (因为一些以前的原因而不是'null')
typeof undefined // undefined
null === undefined // false
null == undefined // true
null === null // true
null == null // true
!null //true
isNaN(1 + null) // false
isNaN(1 + undefined) // true

9、parseInt 和 parseFloat

  a、parseInt:返回一个整数

  b、parseFloat:返回一个浮点数

javascript全局方法与变量的更多相关文章

  1. Android中Application全局方法(变量)的调用

    Application和Actovotu,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息.通常我们是 ...

  2. uni-app 如何引入全局方法或变量?

    利用Vue.prototype挂载到Vue实例上即可

  3. JavaScript获取后台C#变量以及调用后台方法

    http://www.educity.cn/develop/495493.html 有时需要在JavaScript中获取后台变量的值,来判断JavaScript的执行逻辑,或者需要调用C#后台方法获取 ...

  4. 原生JS:全局属性、全局方法详解

    全局属性.全局方法 原创文章,转摘请注明出处:苏福:http://www.cnblogs.com/susufufu/p/5853342.html 首先普及几个我总结的非常实用又很基础的知识:(呵呵,仅 ...

  5. JavaScript 语句标识符,变量周期,常见的HTML事件

    语句 描述 break 用于跳出循环. catch 语句块,在 try 语句块执行出错时执行 catch 语句块. continue 跳过循环中的一个迭代. do ... while 执行一个语句块, ...

  6. JavaScript 基础(五) 函数 变量和作用域

    函数定义和调用 定义函数,在JavaScript中,定义函数的方式如下: function abs(x){ if(x >=0){ return x; }else{ return -x; } } ...

  7. JavaScript全局属性和全局函数

    JavaScript全局属性和全局函数可以与所有内置JavaScript对象一起使用. JavaScript全局属性 属性 描述 Infinity 表示正/负无穷大的数值 NaN "Not- ...

  8. 浏览器端-W3School-JavaScript:JavaScript 全局对象

    ylbtech-浏览器端-W3School-JavaScript:JavaScript 全局对象 1.返回顶部 1. JavaScript 全局对象 全局属性和函数可用于所有内建的 JavaScrip ...

  9. JavaScript var关键字、变量的状态、异常处理、命名规范等介绍

    本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...

随机推荐

  1. [转载]如何将word文档直接发布到新浪博客

    目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...

  2. HDU1863 畅通工程 2017-04-12 19:25 59人阅读 评论(0) 收藏

    畅通工程 Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submissi ...

  3. MSP430G2553 模数转换器 ADC10

    一.ADC10组成 ADC10模块是MSP430 MCU内部的一个高性能.10位的模数转换器,包含了SAR(Successive-Approximation-Register) core.采样选择控制 ...

  4. 在TFS 2013的敏捷组合管理中添加积压工作

    在TFS提供的三套默认模板中,组合管理(Portfolio Management)只包含功能(Feature)和要求这个两个积压工作.你可以参考下面的文档,学会如何在积压工作中添加额外的工作项类型. ...

  5. 使用像素单位设置 EXCEL 列宽或行高

    在导出 Excel 的时候, 经常要需要给列设置宽度或给行设置高度, 在使用 NPOI 或 EppPlus 等组件进行操作的时候, 列宽和行高的单位都不是像素, 好像是英寸,具体是啥也说不清. 平常在 ...

  6. Net系列框架-Dapper+AutoFac 基于接口

    Net系列框架-Dapper+AutoFac 基于接口 工作将近6年多了,工作中也陆陆续续学习和搭建了不少的框架,后续将按由浅入深的方式,整理出一些框架源码,所有框架源码本人都亲自调试通过,如果有问题 ...

  7. 使用apache-fileupload处理文件上传与上传多个文件 二(60)

    一 使用apache-fileupload处理文件上传 框架:是指将用户经常处理的业务进行一个代码封装.让用户可以方便的调用. 目前文件上传的(框架)组件: Apache----fileupload ...

  8. windows挂载网络盘

    @echo offset filename=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%set filename="DataBak-%filename%"ne ...

  9. Java50道经典习题-程序16 在控制台上打印九九乘法表

    题目:输出9*9口诀.分析:利用双重for循环进行输出,分行与列考虑,共9行9列,i控制行,j控制列. public class Prog16 { public static void main(St ...

  10. css3半圆

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...