黑马pink-JavaScript笔记(3):变量

1.变量概述

1.1 什么是变量

1.2 变量是程序在内存中申请的一块用来存放数据的空间

2.变量的使用

1.声明变量
var age;  //声明一个名称为age的变量

var是一个JS关键字,用来声明变量(variable变量的意思),使用它声明时,计算机自动分配内存

2.赋值
age = 10; //给age这个变量赋值为10
3.变量的初始化(声明+赋值)
var myname = '立志前端er';

注意:为了区分css,尽量在js中使用单引号,如:

4.同时声明多个变量
var age = 18,address = '火影村',gz = 2000;
5.声明变量其他情况
  • 只声明不赋值:undefined
  • 没声明没赋值: 会报错
  • 不声明直接赋值:可以使用(不提倡)
6.变量命名规则
  • 字母、数字、下划线、美元符号组成
  • 严格区分大小写
  • 不能数字开头,不能是关键字、保留字
  • 需要有意义,也就是语义化
  • 驼峰命名法:首字母小写,后面单词的首字母都需要大写,例如myFirstName

尽量不用name,有的浏览器默认是有含义的

3.变量的数据类型

3.1 简介

不同的数据占用空间不同,为了充分利用存储空间,于是定义了不同的数据类型

3.2 变量的数据类型

// int num = 10;  java 
// var num; // 这里的num 我们是不确定属于哪种数据类型的
var num = 10; // num 属于数字型 
// js 的变量数据类型是只有程序在运行过程中,根据等号右边的值来确定的
var str = 'pink'; // str 字符串型
// js是动态语言 变量的数据类型是可以变化的
var x = 10; // x 是数字型 
x = 'pink'; // x 字符串型
1.简单数据类型
  • number 数字型
  • Boolean 布尔型
  • string 字符串类型
  • undefined 声明但未赋值
  • null 声明为空值
var a = null;

3.3 数字型

1.数字型进制
// 1. 八进制  0 ~ 7  我们程序里面数字前面加0 表示八进制
var num1 = 010;
console.log(num1); //  010  八进制 转换为 10进制 就是  8 
var num2 = 012;
console.log(num2);
// 2. 十六进制  0 ~ 9  a ~ f    #ffffff  数字的前面加 0x 表示十六进制
var num3 = 0x9;
console.log(num3);
var num4 = 0xa;
console.log(num4);
// 3. 数字型的最大值
console.log(Number.MAX_VALUE);
// 4. 数字型的最小值
console.log(Number.MIN_VALUE);
// 5. 无穷大
console.log(Number.MAX_VALUE * 2); // Infinity 无穷大  
// 6. 无穷小
console.log(-Number.MAX_VALUE * 2); // -Infinity 无穷大
// 7. 非数字
console.log('pink老师' - 100); // NaN

NaN Not a number ,代表一个非数值

2.isNaN()函数
 // isNaN() 这个方法用来判断非数字   并且返回一个值 如果是数字返回的是 false 如果不是数字返回的是true
console.log(isNaN(12)); // false
console.log(isNaN('pink老师')); // true

3.2 字符串类型

引号中可以是任意文本,但最好用’单引号’

1.字符串引号嵌套

可以用单引号嵌套双引号,也可以用双引号嵌套单引号

2.转义字符
  • \n 换行符
  • \ \ 斜杆
  • ’ 单引号
  • \ t tab缩进
  • \b 空格
3.字符串长度(.length)
// 1. 检测获取字符串的长度 length 
var str = 'my name is andy';
console.log(str.length); // 15
4.字符串拼接

字符串的拼接 + 只要有字符串和其他类型相拼接 最终的结果是字符串类型

console.log('沙漠' + '骆驼'); // 字符串的 沙漠骆驼
console.log('pink老师' + 18); // 'pink老师18'
console.log('pink' + true); // pinktrue
console.log(12 + 12); // 24
console.log('12' + 12); // '1212'

3.3 布尔类型

var flag = true; // flag 布尔型 
var flag1 = false; // flag1 布尔型
console.log(flag + 1); // true 参与加法运算当1来看  结果为2
console.log(flag1 + 1); // false 参与加法运算当 0来看  结果为1

// 如果一个变量声明未赋值 就是 undefined 未定义数据类型
var str;
console.log(str);
var variable = undefined;
console.log(variable + 'pink'); // undefinedpink
console.log(variable + 1); // NaN  undefined 和数字相加 最后的结果是 NaN

// null 空值
var space = null;
console.log(space + 'pink'); // nullpink
console.log(space + 1); // 1

3.4 数据类型的其他内容

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);
2.字面量

在源代码中一个固定值的表示方法,通俗来说,就是字面量表示如何表达这个值

  • 数字字面量:8,9,10
  • 字符串字面量:‘黑马程序员’ ‘大前端’
  • 布尔字面量:true,false

3.5 数据类型转换

1.转换为字符串
  • toString() 转换成字符串
  • String() 强制转换
  • 加号拼接字符串
// 1. 把数字型转换为字符串型 变量.toString()
var num = 10;
var str = num.toString();
console.log(str);
console.log(typeof str);
// 2. 我们利用 String(变量)   
console.log(String(num));
// 3. 利用 + 拼接字符串的方法实现转换效果 隐式转换(重要)
console.log(num + '');
2.转换为数字型
  • parseInt(string)函数 将string类型转换成整数数值型
  • parseFloat(string)函数 将string类型转换成浮点数数值型
  • number()强制转换函数
  • js隐式转换
// 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
3.转换为布尔型
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'));  //true
console.log(Boolean('你好吗'));  //true
console.log(Boolean('我很好'));  //true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值