js的变量
js变量
什么是变量?
含义:变量是用于存放数据的容器,我们通过变量名在获取数据,甚至可以修改数据。
通俗来说:变量就是一个装东西的盒子。
本质:变量就是程序在内存中申请的一块用来存放数据的空间。
变量的使用
1、首先声明一个变量,用关键词 var
var age;
2、赋值,把值存入这个变量中,方便后续的使用
age = 18;
3、变量的初始化
var myname = ‘shadow’;
变量的语法拓展
1、更新变量
var myname = 'pink';
console.log(myname);
myname = 'yellow';
console.log(myname);//yellow
2、声明多个变量
第一种:
var age = 18;
var address = '火影村';
var gz = 2000;
第二种:
var age = 18,
address = '火影村',
gz = 2000;
3、声明变量的特殊情况
3.1只是声明变量,不赋值
var sex;
console.log(sex); // undefined
3.2不声明变量,直接赋值使用
qq = 110;
console.log(qq);//110
3.3不声明变量,直接使用
console.log(tel);//会报错的哦
变量小案例(交换两个变量的值)
var temp; // 声明了一个临时变量为空
var apple1 = '青苹果';
var apple2 = '红苹果';
temp = apple1; // 把右边给左边
apple1 = apple2;
apple2 = temp;
console.log(apple1);
console.log(apple2);
变量的数据类型
不同的数据类型所需占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用内存空间,于是就定义了不同的数据类型。
简单来说,数据类型就是数据的类别型号。
在JavaScript中不同提前声明变量的类型,js会根据变量右边的值,来确定变量的数据类型。
var num = 10; // num 属于数字型
var str = 'pink'; // str 字符串型
数字型(Number)
数字型,包含整型值和浮点值,如10、0.2。默认值为0。
例如:
var num = 10; // num 数字型
var PI = 3.14 // PI 数字型
1、八进制,0~7,在程序里面的数字前面加0,表示八进制
var num1 = 010;
console.log(num1); // 010 八进制 转换为 10进制 就是 8
2、十六进制 0~9、a-f,数字前面加上0x表示十六进制
var num3 = 0x9;
console.log(num3);//9
var num4 = 0xa;
console.log(num4);//10
3、数字型的最大值
console.log(Number.Max_VALUE);//1.7976931348623157e+308
4、数字型的最小值
console.log(Number.MIN_VALUE);//5e-324
5、无穷大
console.log(Number.MAX_VALUE * 2); // Infinity 无穷大
6、无穷小
console.log(-Number.MAX_VALUE * 2); // -Infinity 无穷大
7、非数字
console.log('pink' - 100); // NaN
9、判断是否是数字(isNaN())
// isNaN() 这个方法用来判断非数字 并且返回一个值 如果是数字返回的是 false 如果不是数字返回的是true
console.log(isNaN(12)); // false
console.log(isNaN('pink老师')); // true
字符串型(String)
字符串型,如‘张三’,注意js里面,字符串都带引号。
例如:
var str = '我是一个"高富帅"的程序员';
console.log(str);
字符串的拼接
1、字符串的拼接,用+号来进行拼接,只要有字符串和其他类型相拼接,最终得到的数据类型是字符串。
console.log('沙漠' + '骆驼'); // 字符串的 沙漠骆驼
console.log('sintop + 18); // 'sintop18'
console.log('sintop' + true); // sintoptrue
console.log(12 + 12); // 24
console.log('12' + 12); // '1212'
2、检测获取字符串的长度 length
var str = 'my name is sintop';
console.log(str.length); // 17 空格也算一个字符
3、变量和字符串拼接时,不要把变量写到引号里面
var age = 19;
console.log('哈哈哈age岁');//哈哈哈age岁
console.log('哈哈哈' + age + '岁');哈哈哈19岁
布尔型(Boolean)
布尔值类型,如true、false,分别等价于1、0。默认值为false
例如:
var flag = true; // flag 布尔型
var flag1 = false; // flag1 布尔型
console.log(flag + 1); // true 参与加法运算当1来看
console.log(flag1 + 1); // false 参与加法运算当 0来看
1、如果一个变量声明未赋值 输出的结果的undefinded 未定义数据类型
var str;
console.log(str);//undefined
console.log(str + 'pink'); // undefinedpink
console.log(str + 1); // NaN undefined 和数字相加 最后的结果是 NaN
2、空值null
var space = null;
console.log(space + 'pink'); // nullpink
console.log(space + 1); // 1
获取变量的类型
typeof可用来获取检测变量的数据类型
var num = 10;
console.log(typeof num); // number
var str = 'pink';
console.log(typeof str); // string
var flag = true;
console.log(typeof flag); // boolean
var vari = undefined;
console.log(typeof vari); // undefined
var timer = null;
console.log(typeof timer); // object
// prompt 取过来的值是 字符型的
var age = prompt('请输入您的年龄');
console.log(age);
console.log(typeof age);
变量类型的转换
数字类型转换成字符型
1、变量.toString()
var num = 10;
var str = num.toString();
console.log(str);//10
console.log(typeof str);//String
2、利用String(变量)
var num = 10;
console.log(String(num));//10 类型为String
3、利用 + 拼接字符串的方法实现转换(隐式转换)
var num = 10;
console.log(num + '');//10 类型为String
字符性转换成数字型
1、parseInt(变量)可以把字符性转换成数字型 得到的结果是整数
console.log(parseInt('3.14')); // 3 取整
console.log(parseInt('3.94')); // 3 取整
console.log(parseInt('120px')); // 120 会去到这个px单位
console.log(parseInt('rem120px')); // NaN
2、parseFloat(变量)可以把字符性转换成数字型 得到的结果是小数、浮点数
console.log(parseFloat('3.14')); // 3.14
console.log(parseFloat('120px')); // 120 会去掉这个px单位
console.log(parseFloat('rem120px')); // NaN
3、利用Number(变量)
var str = '123';
console.log(Number(str));//123 类型是整数
console.log(Number('12'));//12
4、利用算数运算 - * / (隐式转换)
console.log('12' - 0); // 12
console.log('123' - '120');//3
console.log('123' * 1);//123
计算年龄的小案例
// 弹出一个输入框(prompt),让用户输入出生年份 (用户输入)
// 把用户输入的值用变量保存起来,然后用今年的年份减去变量值,结果就是现在的年龄 (程序内部处理)
// 弹出警示框(alert) , 把计算的结果输出 (输出结果)
var year = prompt('请您输入您的出生年份');
var age = 2018 - year; // year 取过来的是字符串型 但是这里用的减法 有隐式转换
alert('您今年已经' + age + '岁了');
转换成布尔型(Boolean)
1、使用 Boolean(变量)
console.log(Boolean('')); // false
console.log(Boolean(0)); // false
console.log(Boolean(NaN)); // false
console.log(Boolean(null)); // false
console.log(Boolean(undefined)); // false
console.log('------------------------------');
console.log(Boolean('123'));
console.log(Boolean('你好吗'));
console.log(Boolean('我很好'));