分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

JS基础-数据类型-运算符和表达式-变量和常量

发布时间:2023-09-06 01:53责任编辑:苏小强关键词:运算符数据类型

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基础-数据类型-运算符和表达式-变量和常量

原文地址:https://www.cnblogs.com/QiliPING9/p/9027860.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved