js变量和数据类型

1.JavaScript 数据类型

最新的 ECMAScript 标准定义了8种数据类型:

  • 七种基本数据类型
    • 布尔值(Boolean),有两个值分别是true和false;
    • null , 一个表明 null 值的特殊关键字。 JavaScript 是大小写敏感的,因此 null 与 Null、 NULL或变体完全不同。
    • undefined, 和null用于是一个特殊的关键字,undefined表示变量为定义时的属性
    • 数字(Number. 整数和浮点数), 例如: 32 或者 3.14159。
    • 任意精度的整数 (BigInt) ,可以安全地存储和操作大整数,甚至可以超过数字的安全整数限 制。
    • 字符串(String), 字符串是一串表示文本值的字符序列, 例如:"hello world" 。
    • 代表(Symbol) (在ECMAScript6中新添加的类型), 一种实例是唯一且不可改变的数据类型。
  • 以及对象(Object).
    虽然这些数据类型相对来说比较少,但是通过他们你可以在程序中开发有用的功能。对象(Objects)和函数(functions)是这门语言的另外两个基本元素。你可以把对象当作存放值的一个命名容器,然后将函数当作你的程序能够执行的步骤。

1.1:JavaScript 拥有动态类型

JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型:
实例

var x;   // x为undefined
var x = 5;  //现在为数字
var   x =   "John" ; //x为字符串

1.2:JavaScript 字符串

字符串是存储字符(比如 "Bill Gates")的变量。

字符串可以是引号中的任意文本。您可以使用单引号或双引号:推荐使用单引号.

实例

 var   carname=  "Volvo XC60";
 var   carname=  'Volvo XC60' ;

您可以在字符串中使用引号,只要不匹配包围字符串的引号即可.

实例

var answer="It's alright";
var answer="He is called 'Johnny'";
var answer='He is called "Johnny"';

1.3:JavaScript 数字

JavaScript 只有一种数字类型。数字可以带小数点,也可以不带:

实例

var x1=34.00;      //使用小数点来写
var x2=34;         //不使用小数点来写

极大或极小的数字可以通过科学(指数)计数法来书写:

实例

var y=123e5;      // 12300000
var z=123e-5;     // 0.00123

1.4:JavaScriptBigInt类型;

创建BigInt, 只需要将n附加到整数的末尾, 或者使用构造函数BigInt(数字);

BigInt 字面量也可以写成二进制、八进制或十六进制形式:

BigInt数据类型是为了让JavaScript程序能表示超出Number 类型支持的数值范围。

console.log(546575675756756742343n)// 546575675756756742343n
var big = BigInt(43545)
console.log(big)//43545n
console.log(typeof big)// BigInt

1.5:JavaScript 布尔

布尔(逻辑)只能有两个值:true 或 false。

布尔值true转为数字为1, false转为数字为0;

布尔类型仅仅包含真假;

var x = true;
var y = false;
var a = 1,
    b = 1;
console.log(x === y) // fasle;
console.log(a === b) //true

布尔常用在条件测试中。

1.6:JavaScript 数组

下面的代码创建名为 arr的数组:

var arr = ["43","434",43];
var arr_a = [4,43,54];
console.log(arr[0])// "43" 打印数组arr下标的第0项的值
console.log(arr.length)//3 数组的长度默认指定为元素的个数

当你使用数组字面量创建一个数组时,改数组将会以指定的值作为元素进行初始化.其长度被指定为元素达到个数

数组下标是基于零的,所以第一个项目是 [0],第二个是 [1],以此类推。

1.7:JavaScript 对象

对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:

上面例子中的对象 (person) 有三个属性:firstname、lastname 以及 id。

空格和折行无关紧要。声明可横跨多行:

var person = {firstname:"first", lastname:"last",id:"10001"}

console.log(person.firstname)//first

对象的属性名可以使用数字或者字符串作为属性的名字, 或者在另一个字面值内嵌套上字面值.

var arr = {myarr:{a:"hello", b:"world"}, 666:"小明"}
console.log(arr[666])//小明

对象的属性名可以是任意字符串,包括空字符串,如果对象的属性名名字是不合法的JavaScript标识符,

它必须使用""包裹,属性的名字不合法, 那么就不能使用.访问属性值, 而是通过类数组标记("[]")访问和赋值

var personName = {
    "":"An empty string",
    "!":"bang"
}
console.log(personName."");//Uncaught SyntaxError: Unexpected string 语法错误
console.log(personName[""]);//An empty string
console.log(personName.!);//Uncaught SyntaxError: Unexpected token '!' 语法错误

对象属性有两种寻址方式:

通过对象名.属性名获取属性值, 也可以通过对象名"[属性名"]获取;

var obj = {name:"wu",age:45};
console.log(obj.name)// wu;
console.log(obj["age"])//45

1.8:Undefined 和 Null

undefined这个值表示变量不含有值。undefined是一个表示"无"的原始值, 转为数字时为NaN;

undefined翻译过来就是未定义的意思,就是此处一个有一个值,但是还没有定义;

null是一个表示"无"的对象,转为数值时为0;null表示 没有对象, 即此处不应该有值

var unde;//声明一个变量如果没有赋值, 那么打印变量的值就是undefined;
var nl = null;
console.log(unde)//undefined
console.log(nl)// null

1.9:声明变量类型

当您声明新变量时,可以使用关键词 "new" 来声明其类型:一般使用字面量的方式声明变量

var carname = new String("str");
var arr = new  Array(3,43,534,54)
var bollean = new Boolean(true);
var obj = new Object({name:"wu"});
var Number = new Number(43);

JavaScript 变量均为对象。当您声明一个变量时,就创建了一个新的对象。

你可能感兴趣的:(js变量和数据类型)