JS基础-数据类型-运算符和表达式-变量和常量
Posted 冻冻玖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS基础-数据类型-运算符和表达式-变量和常量相关的知识,希望对你有一定的参考价值。
1.js的基础语法
2.js调试
1.F12调出控制台,查看提示错误及其位置。
2.出错时只影响当前代码块,不会影响其他代码块,后续代码块继续执行。
3.语法规范
1.js语句:可执行的最小单元
必须以 ; 结束
严格区分大小写
ex:console.log(); //正确
Console.log(); //错误
所有符号必须是英文标点符号
2.js注释
// :单行注释
/**/ :多行注释
4.变量和常量
1.变量
1.声明变量
var 变量名;
ex:
var uname;
2.为变量赋值
变量名=值;
3.声明变量时直接赋值
var 变量名=值;
注意:
1.允许在一条语句中声明多个变量,用逗号隔开即可。
ex:
var user_name="Hanmm",user_age=18;
2.如果声明变量,但未赋值,则值默认是undefined。
3.声明变量时可以省略var,但不推荐。
2.变量名的命名规范
1.不允许使用关键字和保留关键词
var const if else for while int string...
2.允许包含字母,数字,下划线,$
3.不能以数字开头
4.最好见名知意
ex:
var a;
var uname;
5.尽量使用"小驼峰命名法"
var uname;
var userName;//小驼峰
var UserName;//大驼峰
var user_name;//下划线
3.变量的使用
1.声明变量 未赋值 值默认是undefined
2.使用未声明的变量,则 报错。
3.取值操作-get
变量只要没出现在=的左边,一律是取值操作。
4.赋值操作-set
变量名出现在=的左边,一律赋值操作。
练习:
用三个变量来保存笔记本信息:
笔记本名称
笔记本价格
笔记本库存
并将笔记本信息打印在控制台:输出格式如下:
ex:
笔记本名称:ThinkPad E460
4.常用的使用
1.什么是常量?
在程序中,一经声明就不允许被修改的数据就是常量。
2.语法
const 常量名=值;
常量名在程序中,通常采用大写形式。
ex:
const PI=3.14;
练习:
1.创建一个常量PI,赋值3.14,并打印在控制台,
再将声明好的常量PI的值更改为31.4,尝试打印输出,观察结果。
5.数据类型
1.数据类型的作用
规定了数据在内存中所占的空间。
40:占4个字节 也就是32位
40.1
bit:位
8bit=1byte 字节
1024byte=1KB
1024kb=1MB
1024MB=1G
1024G=1T
2.数据类型详解
1.数据类型分类
1.原始类型(基本类型)
1.Number类型
数字类型
作用:可以用来表示32位的整数,也可以是64位的浮点数(小数)。
整数:
1.十进制
由0-9的数字组成,缝十进一
var age=25;
2.八进制
由0-7的数字组成,缝八进一
八进制中以0开头
3.十六进制
由0-9和A-F组成,缝十六进一
A:10
B:11
C:12
D:13
E:14
F:15
十六进制中以ox开头
浮点数(小数):
小数点计数法:12.34
指数计数法:3.4e3(3.4乘以10的3次方)
2.String类型
字符串类型
作用:表示一系列的文本字符数据,如:姓名,性别,地址等。
每个字符在计算机中都有一个唯一的编码来表示该字符,该码称为Unicode码。
查找一个字符的unicode码:
"一".charCodeAt();//默认十进制
"一".charCodeAt().toString(16);//十六进制
674e-->unicode转换成汉字?
转义字符:\u
其它转义字符:
\n:换行
\t:制表符(缩进)
\":"
\‘:‘
\\:\
字符串在使用过程中,需要使用‘‘或""括起来。
3.Boolean类型
作用:在程序表示真或假的结果
取值:true或false
ex:
var isBig=true;
在参与到数字运算时,true可以当做1运算,false可以当做0运算。
ex:
var result=25+true;//结果:26
4.Undefined类型
作用:表示使用的数据不存在
undefined类型只有一个值,即undefined,当声明的变量未赋值时,该变量的默认值是undefined。
ex:
var num;
console.log(num);//结果undefined
5.Null类型
null用于表示尚不存在的对象。
null类型只有一个值即null,如果函数或方法返回的是对象,找不到该对象时,返回的通常是null。
ex:
document.getElementById("uname");
2.引用类型
2.数据类型转换
1.隐式(自动)转换
不同类型的数据在计算过程中自动进行转换。
1.数字+字符串:将数字转换为字符串
var num=15;
var str="Hello";
var result=num+str;//15Hello
2.数字+布尔:将布尔转换为数字
var num=15;
var isSun=true;
var result=num+isSun;//结果16
3.字符串+布尔:将布尔类型转换为字符串
var str="Hello";
var isBig=true;--》"true"
var result=str+isBig;//结果Hellotrue
4.布尔+布尔:将布尔类型转换数字
var isBig=true;
var isSun=false;
var result=isBig+isSun;//结果1
问题:
var num1=15;
var num2=17;
var str1="Hello";
1.str1+num1+num2
结果:Hello1517
2.num1+num2+str1
结果:32Hello
允许使用typeof()的函数检查变量的数据类型。
2.强制转换-转换函数
1.toString()
将任意类型数据转换为字符串
语法:var result=变量.toString();
ex:
var num=15;
var result=num.toString();
console.log(typeof(result));//string
2.parseInt()
将任意类型的数据转换为整数
如果转换不成功,结果为NaN(Not a Number)
语法:var result=parseInt(数据);
ex:
var num="123abc"; //结果123
var num1="abc123";//结果NaN
3.parseFloat()
将任意类型的数据转换为小数
如果转换不成功,结果为NaN。
语法:var result=parseFloat(数据);
4.Number()
将任意类型的数据转换为number
注意:如果包含非法字符,则返回NaN
语法:var result=Number(数据);
练习:
1.弹出一个输入提示框,输入金额,并保存在变量money中
ex:
var money=prompt("请输入金额:");
2.将money+10,再打印输出加10后的结果
3.注释掉第2步,使用typeof()检查money的类型。
4.将money转换为数字,再+10打印输出。
6.运算符和表达式
1.表达式:由运算符和操作数组成的式子就是表达式
任何一个表达式一定会有结果。
ex:
15+17
var x=y=10;
17<15
2.运算符
1.算术运算符
+,-,*,/,%,++,--
5%2=1 5模2 余数是1
++:自增,只做+1操作
++在前,先自增,再运算
++在后,先运算,再自增
--:自减,只做-1操作
--在前,先自减,再运算
--在后,先运算,再自减
ex:
var num=5;
console.log(num++);//5
console.log(++num);//7
练习:
var num=5;
5 (6)6 6(7)
var result=num + ++num + num++ + ++num + num++ +num; 结果:42
(8)8 8(9) 9
2.关系运算符(比较运算符)
>,<,>=,<=,==,!=,===,!==
运算结果为:boolean类型(true,false)
问题:
1.5>"10" 结果:false
关系运算符两端,只要有一个是number的话,另外一个会隐式转换为number,再进行比较。
2."5">"10" 结果:true
关系运算符两端,如果string的话,则比较每位字符的unicode码,以unicode码不相等的两个字符比较结果作为整体结果。
"张三丰">"张无忌" 结果:false
"三".charCodeAt();
"无".charCodeAt();
3."3a">10 结果:false
Number("3a")--->NaN
NaN
注意:
NaN与任何一个数据做比较运算时,结果都是false。
NaN与任何数据做!=,结果永远都是true。
NaN与任何数据做==,结果永远都是false.
isNaN()函数:
作用:判断指定数据是否为非数字,如果不是数字,返回值为true,是数字的话返回值为false。
3.逻辑运算符
逻辑运算符:&&,||,!
!:取反
&&:并且,关联的两个条件都为true时,整个表达式的结果为true。
||:或者,关联的两个条件,只要有一个为true,整个表达式的结果为true。
短路逻辑与:&& 做条件判断
当第一个条件为false时,整体表达式的结果就是false,不再判断或执行第二个条件。
当第一个条件为true时,会继续判断或执行第二个条件。
短路逻辑或:||
当第一个条件true时,就不再执行后续表达式,整体结果为true。
当第一个条件false时,继续执行第二个条件或操作。
4.位运算符
<<,>>,&,|,^
右移是把数字变小,左移是把数字变大
按位与:& 判断奇偶性
任意数字与1做按位与 ,结果为1,则为奇数,结果为0,则为偶数。
var num=323;
var result=num & 1;
console.log(result);
按位或:| 对小数取整
将任意小数与0做按位或,结果则取整数部分。
var num=123.45;
var result=num | 0;
console.log(result);
按位异或:^ 用于交换两个数字
var a=3;
var b=5;
a=a^b;
b=b^a;
a=a^b;
console.log(a);
console.log(b);
二进制位数,逐位比较,不同则为1,相同则为0。
练习:
声明两个变量,分别保存两个整数。
用异或实现数字的换位。
输出方式如下:
console.log("换位前a:"+a);
console.log("换位后a:"+a);
以上是关于JS基础-数据类型-运算符和表达式-变量和常量的主要内容,如果未能解决你的问题,请参考以下文章