Javascript全局属性和方法

JavaScript 全局属性和方法

JavaScript 可用于创建Javascript对象。

CONTENT

JavaScript 全局属性

属性 描述
Infinity 代表正的无穷大的数值。
NaN 指示某个值是不是数字值。
undefined 指示未定义的值。

JavaScript 全局函数

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

JavaScript 全局属性

1.Infinity

在Javascript中,超出 1.7976931348623157E+103088 的数值即为 Infinity ,小于 -1.7976931348623157E+103088 的数值为无穷小。

var x=1.7976931348623157E+10308;
console.log(x);                         // Infinity
var y=-1.7976931348623157E+10308;
console.log(y);                         // -Infinity

2.NaN

NaN 即非数值(Not a Number),NaN 属性用于引用特殊的非数字值,该属性指定的并不是不合法的数字。

NaN 属性 与 Number.Nan 属性相同。

♥ 提示: 请使用 isNaN() 来判断一个值是否是数字。原因是 NaN 与所有值都不相等,包括它自己。

3.undefined

var t1="";
var t2;

if (t1===undefined)
{
  alert("t1 is undefined");
}
if (t2===undefined)
{
  alert("t2 is undefined");
}

// t2 is undefined

undefined 属性用于存放 JavaScript 中未定义的值。

JavaScript 全局函数

1.encodeURI()&decodeURI()&encodeURIComponent()&decodeURIComponent()

var uri = "https://ke.qq.com/course/list/米斯特吴";
document.write(encodeURI(uri)+ "<br>");
document.write(decodeURI(uri)+ "<br>");
var uri_encode=encodeURIComponent(uri);
document.write(uri_encode+ "<br>");
document.write(decodeURIComponent(uri_encode));
/*
https://ke.qq.com/course/list/%E7%B1%B3%E6%96%AF%E7%89%B9%E5%90%B4
https://ke.qq.com/course/list/米斯特吴
https%3A%2F%2Fke.qq.com%2Fcourse%2Flist%2F%E7%B1%B3%E6%96%AF%E7%89%B9%E5%90%B4
https://ke.qq.com/course/list/米斯特吴
*/

2.escape()&unescape()

var str="Need tips? Visit RUNOOB!";
var str_esc=escape(str);
document.write(str_esc + "<br>")
document.write(unescape(str_esc))

/*
Need%20tips%3F%20Visit%20RUNOOB%21
Need tips? Visit RUNOOB!
*/

escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。

该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。

unescape() 方法对字符串进行解码。

语法

escape(string)

unescape(string)

参数 描述
string 必需。要被转义或编码的字符串。

提示和注释

♥ 注意: escape()函数不能用于编码 URIs(通用资源标识符(UniformResourceIdentifier,简称"URI")). 可以使用函数 encodeURI() 取代。

3.eval()

eval("x=10;y=20;document.write(x*y)");
document.write("<br>" + eval("2+2"));
document.write("<br>" + eval(x+17));

/*
200
4
27
*/

eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行。

如果参数是一个表达式,eval() 函数将执行表达式。如果参数是Javascript语句,eval()将执行 Javascript 语句。

语法

eval(string)

4.isFinite()

document.write(isFinite(123)+ "<br>");                     // true
document.write(isFinite(-1.23)+ "<br>");                   // true
document.write(isFinite(5-2)+ "<br>");                     // true
document.write(isFinite(0)+ "<br>");                       // true
document.write(isFinite("Hello")+ "<br>");                 // false
document.write(isFinite("2005/12/12")+ "<br>");            // false

isFinite() 函数用于检查其参数是否是无穷大。

♥ 提示: 如果 number 是 NaN(非数字),或者是正、负无穷大的数,则返回 false。

语法

isFinite(value)

5.isNaN()

document.write(isFinite(123)+ "<br>");                     // false
document.write(isFinite(-1.23)+ "<br>");                   // false
document.write(isFinite(5-2)+ "<br>");                     // false
document.write(isFinite(0)+ "<br>");                       // false
document.write(isFinite("Hello")+ "<br>");                 // true
document.write(isFinite("2005/12/12")+ "<br>");            // true

isNaN() 函数用于检查其参数是否是非数字值。

如果参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false。

语法

isNaN(value)

6.Number()

var test1= new Boolean(true);
var test2= new Boolean(false);
var test3= new Date();
var test4= new String("999");
var test5= new String("999 888");

document.write(Number(test1)+ "<br>");     // 1
document.write(Number(test2)+ "<br>");     // 0
document.write(Number(test3)+ "<br>");     // 1565949760558
document.write(Number(test4)+ "<br>");     // 999
document.write(Number(test5)+ "<br>");     // NaN

Number() 函数把对象的值转换为数字。

如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。

语法

Number(object)

参数 描述
object 可选。一个 JavaScript 对象。如果没有提供参数,则返回0。

♥ 注意:如果参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫秒数。

7.parseFloat()

document.write(parseFloat("10") + "<br>");
document.write(parseFloat("10.33") + "<br>");
document.write(parseFloat("34 45 66") + "<br>");
document.write(parseFloat(" 60 ") + "<br>");
document.write(parseFloat("40 years") + "<br>");
document.write(parseFloat("He was 40") + "<br>");
/*
10
10.33
34
60
40
NaN

parseFloat() 函数可解析一个字符串,并返回一个浮点数。

该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。

语法

parseFloat(string)

参数 描述
string 必需。要被解析的字符串。

♥ 注意: 字符串中只返回第一个数字。

♥ 注意: 开头和结尾的空格是允许的。

♥ 注意: 如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。

8.parseInt()

document.write(parseInt("10") + "<br>");
document.write(parseInt("10.33") + "<br>");
document.write(parseInt("34 45 66") + "<br>");
document.write(parseInt(" 60 ") + "<br>");
document.write(parseInt("40 years") + "<br>");
document.write(parseInt("He was 40") + "<br>");
 
document.write("<br>");
document.write(parseInt("11",2)+ "<br>");
document.write(parseInt("10",10)+ "<br>");
document.write(parseInt("010")+ "<br>");
document.write(parseInt("10",8)+ "<br>");
document.write(parseInt("0x10")+ "<br>");
document.write(parseInt("10",16)+ "<br>");

/*
10
10
34
60
40
NaN

3
10
10
8
16
16
*/

parseInt() 函数可解析一个字符串,并返回一个整数。

当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。

当忽略参数 radix , JavaScript 默认数字的基数如下:

  • 如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。
  • 如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。
  • 如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。

语法

parseInt(string, radix)

参数 描述
string 必需。要被解析的字符串。
radix 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。

♥ 注意: 只有字符串中的第一个数字会被返回。

♥ 注意: 开头和结尾的空格是允许的。

♥ 注意: 如果字符串的第一个字符不能被转换为数字,那么 parseInt() 会返回 NaN。

♥ 注意: 在字符串以"0"为开始时旧的浏览器默认使用八进制基数。ECMAScript 5,默认的是十进制的基数。

9.String()

var test1 = new Boolean(1);
var test2 = new Boolean(0);
var test3 = new Boolean(true);
var test4 = new Boolean(false);
var test5 = new Date();
var test6 = new String("999 888");
var test7 = 12345;

document.write(String(test1)+ "<br>");
document.write(String(test2)+ "<br>");
document.write(String(test3)+ "<br>");
document.write(String(test4)+ "<br>");
document.write(String(test5)+ "<br>");
document.write(String(test6)+ "<br>");
document.write(String(test7)+ "<br>");

/*
true
false
true
false
Fri Aug 16 2019 18:15:54 GMT+0800 (中国标准时间)
999 888
12345
*/

String() 函数把对象的值转换为字符串。

语法

String(object)

参数 描述
object 必需。JavaScript 对象。

♥ 注意: String() 函数返回与字符串对象的toString()方法值一样。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,029评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,395评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,570评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,535评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,650评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,850评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,006评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,747评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,207评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,536评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,683评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,342评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,964评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,772评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,004评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,401评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,566评论 2 349

推荐阅读更多精彩内容