本人第一次写博客
js变量
1.变量的声明
var age;
2.变量赋值
var age;
age=20;
3.变量初始化
var fname = 'Tom';
//省略var
name = 'Lily';
4.同时声明多个变量(中间逗号隔开)
var age, name;
age = 10;
name = 'zs';
5.一个var同时声明和赋值
var age=num=23; 等价于 var age = 23;num = 23;
6.注意点
- .不声明,直接省略var关键字为变量赋值不会发生错误,但是在函数内部不用var的变量时全局变量。
变量声明提升
变量被定义之后,你可以通过变量名称读取变量的值:
var mst=18;
console.log(mst)//通过变量输出18
但是,在变量定义代码之前,通过变量名称读取变量的值,会出现什么情况呢:
console.log(mst);//输出结果为:undefined
var mst=18;
由于变量的声明会被提升到当前作用域的最顶端,而赋值并不会被提升,因此上面的代码输出
undefined。可以使用下面的代码解释:
var mst;
console.log(mst);//undefined
mst=18;
数据类型
-
为什么需要数据类型
在计算机中 不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型
简单来说,数据类型就是数据的类别型号。比如姓名张三年龄18,这些数据的类型是不一样的。 -
变量的数据类型
变量是用来存储值的所在处,它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。 -
JavaScript是一种弱类型或者说动态类型的语言。在声明变量时,我们不要指定变量的类型,在程序运行过程中,类型会被自动确定。这意味着JS变量的内存空间中可以存放任意类型的数据。
基本数据类型:Undefined、 Null、 String、 Number、 Boolean、 Symbol (es6新出的,暂不不讨论这种类型)
var foo = 42; // 数字
foo = "bar"; // 字符串
foo = true; // 逻辑真
然而,在其他强类型编程语言中,变量的空间所能存放的数据类型是事先规定好的。
int num = 123; // 使用 int 关键字声明的变量空间中只能存放整数
string name = "李四"; // 使用 string 关键字声明的变量空间中只能存放字符串
float price = 2.98; // 使用 float 关键字声明的变量空间中只能存放浮点数
这里整理一下引用类型
在计算机科学中, 对象是指内存中的可以被 [标识符] 引用的一块区域。在 Javascript
里,引用类型的数据指的是各种对象,例如,Object、Array、Date等,他们在内存中的存储方式与原始类型的数据不同。以Object对象为例,Object对象是一组属性的集合。属性包含一个属性名和一个属性值,如下所示:
var person = {
name='mst',
age=18,
sex='男'
};
检测数据类型
JavaScript中对于数据类型的检测提供了多种方式,现阶段我们需要了解以下这种:
- typeof操作符
// 基本类型或原始类型
var myName = '张三';
var age = 18;
var gender = false;
var weight = undefined;
var phone = null;
// 检查原始数据的类型
console.log(typeof myName); // 'string'
console.log(typeof age); // 'number'
console.log(typeof gender); // 'boolean'
console.log(typeof weight); // 'undefined'
console.log(typeof phone); // 'object'
// 引用类型
var hobby = ['看电影', '学习'];
var car = {
color: '蓝色',
brand: '哈喽单车'
};
// 检查引用数据的类型
console.log(typeof car); // 'object'
*我可以
javascript的typeof返回哪些数据类型?答案:string,boolean,number,undefined,function,object