1.JDK 下载 安装 环境变量
765 2023-04-03 03:10:42
同C语言相同
// 意为 单行注释
/**/ 意为 多行注释
语句结束使用分号结束 ";"
ECMAscript中的一切(变量,函数名和操作符)都区分大小写
命名规则:
ECMAscript的变量是松散类型(很灵活,可以保存任何类型的数据),可以说变量仅仅是一个用于保存值的占位符(类似%d,%f...)
变量声明使用 var 操作符
语法:var 变量名;
变量一经声明,值变为undefined。
声明的同时赋值:var 变量名=值
先声明后赋值:变量名=值
声明多个变量,用逗号隔开:var id="asd",name="kiki",age;
省略var声明的变量是全局变量(不建议)
undefined null boolean number string
一种复杂数据类型:object
举个栗子:
使用typeof检测变量类型结果:结果为string(字符串)
例如:然后在浏览器的开发者工具(审查元素)中点开console查看打印出来变量name的值
数据未赋值时的类型
这个类型只有一个值:undefined
说明:一般而言,不存在需要明显的吧一个变量设置为undefined值的情况(简单说就是默认的数据类型)
说明: undefined值派生自null值,所以undefined==null的返回结果为true
number:表示整数和浮点数
即非数值(not a number)是一个特殊的数值
打印:数字 - 字符串,无法相减出数值
第一个显示出NaN,意思是本应打印数字但是没办法相减所以显示NaN
第二个显示number是因为typeof检测类型的作用,检测到“NaN”,他属于number类型,所以显示number
语法:isNaN(n)
功能:检测n是否是“非数值”
返回:boolean值(两个值:true/false)
参数:参数n可以是任何类型(什么类型都能判断)
说明:isNaN( )对接收的数值,先尝试转换为数值,再检测是否为非数值
例如:
结果如下:第一个为非数值返回“真”,另一个为假
另一个特性:id虽然添加了双引号意为字符串,但仍显示为number是因为:isNaN会尝试转换为数值,再检测是否为非数值
有三个函数可以把非数值转换为数值:
说明:
同C语言函数使用类似结果将字符串类型转换为数值
作用:转换为整型(提取整型)原本打印出来是字符串“28asd”,经过parseInt()函数,转换为整型“28”
另一个例子:
这里他将十六进制转换为int型的15,并不是提取整型的0。
但是,它作用的变量值必须以数字开头a由于是数字开头转换成功,b转换失败为NaN
作用:转换为整型和浮点型(提却浮点型和整型)
从第一个字符开始解析,直至遇到一个无效的浮点数字符为止。
说明:parseFloat()与 parseInt()的区别:
第一个小数点有效会忽略前导零(开头的0)
举个综合例子
这里的a有两个小数点并且以0开头数字开头的“前导0”被省略,并且只识别到第二个小数点之前,后面小数点无效。然后parseInt只提取了整型“12”部分。
字符串:由双引号“ ”或者单引号' '表示
例如:变量a本来是number类型,通过转换字符串之后,显示仍为159但是类型变成string型。变量b通过String()函数也转换成string型。
用于表示真假的类型,即true表示真,false表示假
Boolean型的强制转换:Boonlean(变量);
默认返回number
算术操作符练习:
两个不同类型可以黏一起
不同类型会出现NaN,只有“+”不影响,“*”,“/”,“-” 都会出现NaN
虽然变量b是字符串,但是算数运算时会被自动转换为number型,为隐式 类型转换
简单赋值:=
复合赋值:+=,-=,*=,/=,%=;
使用基本与C语言相同
> , < , >= , <= , == , === , != , !==
返回值:Boolean(true或者false)
a大于b。a>b为true
c和d值不同,类型不同。==为false
e和f值相同,类型不同。===为false
g和h值相同。==为true
同C语言使用类似
举个栗子:
结果如下:
基本使用与C语言类似(两个条件同时满足)
使用:1. 会将第一个操作数转化为Boolean类型
2. 若转化后第一个操作数为true,则返回第二个操作值;否则返回第一个操作数的原始值
说明:在有一个操作数不少布尔值的情况,逻辑与操作就不一定返回值,此时他遵循下列规则(多个时遇到true往下走)
一个为真,还需要看另一个情况
第一个a值“asd”为true,所以返回第二个操作数b的值“123”
一个为假,不需要看另一个情况了
第一个操作数是false,返回第一个操作数的值。
基本使用与C语言类似(至少一个条件成立)
说明:在有一个操作数不少布尔值的情况,逻辑与操作就不一定返回值,此时他遵循下列规则(多个时遇到false就往下走)
一个为真,不需要判断另一个了
第一个为假,需要看第二个情况
a*b是NaN,a-b是NaN,所以最后返回为NaN
说明:
88的隐式转换为true
其实就是原来的样子(取反再取反)
!(!0)就是先!0返回true,然后!返回false
可以起到直接获得变量布尔值的作用
在js中新手常常会写这样臃肿的代码:
var a;if(a!=null&&typeof(a)!=undefined&&a!=''){ //a有内容才执行的代码 }
实际上我们只需要写一个判断表达:
if(!!a){ //a有内容才执行的代码... }