标签:意义 证明 ica 区分 布尔 pad 十六进制 round 字符串
JavaScript不区分整数和浮点数,统一用Number表示。
123; // 整数123 0.456; // 浮点数0.456 1.2345e3; // 科学计数法表示1.2345x1000,等同于1234.5 -99; // 负数 NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示 Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity
十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2
1 + 2; // 3 (1 + 2) * 5 / 2; // 7.5 2 / 0; // Infinity 0 / 0; // NaN 10 % 3; // 1 10.5 % 3; // 1.5
可以用单引号或者双引号括起。
true; false; 1>2; // false
2>3; // true
&& 与运算 全true才为true
|| 或运算 一个true全为true
! 非运算
当我们对Number进行比较时,可以通过比较运算符得到一个布尔值。
1 > 2; // false
7 == 7; // true
实际上,JavaScript允许对任意数据类型做比较:
false == 0; // true false === 0; // false
要特别注意相等运算符==。JavaScript在设计时,有两种比较运算符:
第一种是==比较,它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果;
第二种是===比较,它不会自动转换数据类型,如果数据类型不一致,返回false,如果一致,再比较。
由于JavaScript这个设计缺陷,不要使用==比较,始终坚持使用===比较。
另一个例外是NaN这个特殊的Number与所有其他值都不相等,包括它自己:
NaN === NaN; // false 唯一能判断NaN的方法是通过isNaN()函数: isNaN(NaN); // true
最后要注意浮点数的相等比较:
1 / 3 === (1 - 2 / 3); // false
这不是JavaScript的设计缺陷。浮点数在运算过程中会产生误差,因为计算机无法精确表示无限循环小数。要比较两个浮点数是否相等,只能计算它们之差的绝对值,看是否小于某个阈值:
Math.abs(1 / 3 - (1 - 2 / 3)) < 0.0000001; // true
null表示一个“空”的值,它和0以及空字符串‘‘不同,0是一个数值,‘‘表示长度为0的字符串,而null表示“空”。
在其他语言中,也有类似JavaScript的null的表示,例如Java也用null,Swift
用nil,Python用None表示。但是,在JavaScript中,还有一个和null类似的undefined,它表示“未定义”。
JavaScript的设计者希望用null表示一个空的值,而undefined表示值未定义。事实证明,这并没有什么卵用,区分两者的意义不大。大多数情况下,我们都应该用null。undefined仅仅在判断函数参数是否传递的情况下有用。
类似于Python中的列表。使用[]表示,元素使用,隔开。
["a","b",1,2,[1,2,3,"a"]]
创建数组的方法是通过Array()函数实现
new Array(1, 2, 3); // 创建了数组[1, 2, 3]var arr = [1, 2, 3.14, ‘Hello‘, null, true];
Python中的字典,由键值对组成的无序集合。
var person = { name: ‘Bob‘, age: 20, tags: [‘js‘, ‘web‘, ‘mobile‘], city: ‘Beijing‘, hasCar: true, zipcode: null };
上述person对象一共定义了6个键值对,其中每个键又称为对象的属性,例如,person的name属性为‘Bob‘,zipcode属性为null。
要获取一个对象的属性,我们用对象变量.属性名的方式:
person.name; // ‘Bob‘
person.zipcode; // null
var a; // 申明了变量a,此时a的值为undefined var $b = 1; // 申明了变量$b,同时给$b赋值,此时$b的值为1 var s_007 = ‘007‘; // s_007是一个字符串 var Answer = true; // Answer是一个布尔值true var t = null; // t的值是null
strict模式
开始方式:在JavaScript代码的第一行写上:
‘use strict‘;
作用:在strict模式下运行的JavaScript代码,强制通过var申明变量,未使用var申明变量就使用的,将导致运行错误。
不启用:JavaScript的设计缺陷,不启用的话,
a = 5;默认是一个全局变量,在同一个页面的不同的JavaScript文件中,如果都不用var申明,恰好都使用了变量i,将造成变量i互相影响,产生难以调试的错误结果。
var a; // 申明了变量a,此时a的值为undefined
var $b = 1; // 申明了变量$b,同时给$b赋值,此时$b的值为1
var s_007 = ‘007‘; // s_007是一个字符串
var Answer = true; // Answer是一个布尔值true
var t = null; // t的值是null标签:意义 证明 ica 区分 布尔 pad 十六进制 round 字符串
原文地址:https://www.cnblogs.com/wybslj/p/11227925.html