2020/02/04 03-JS标识符类型转换字符串和数值

首先学习下js的注释,注释并不以#号开头,单行注释是//双斜杠,/ /代表区间
2020/02/04 03-JS标识符类型转换字符串和数值_第1张图片
多行注释
2020/02/04 03-JS标识符类型转换字符串和数值_第2张图片
定义函数的时候,可以这么写注释,告诉里面参数是string
2020/02/04 03-JS标识符类型转换字符串和数值_第3张图片
还有比较规范的写法
2020/02/04 03-JS标识符类型转换字符串和数值_第4张图片
现在第一种不推荐,变量要么var,要么let,选择其中一个
2020/02/04 03-JS标识符类型转换字符串和数值_第5张图片
打印b,还未定义2020/02/04 03-JS标识符类型转换字符串和数值_第6张图片
试一下c
2020/02/04 03-JS标识符类型转换字符串和数值_第7张图片
var 关键字申明的,可以在当前作用域提升此申明
2020/02/04 03-JS标识符类型转换字符串和数值_第8张图片
相当于 把b写在前面了,这个叫做申明
2020/02/04 03-JS标识符类型转换字符串和数值_第9张图片
这句话叫申明加初始化,申明变量,没有任何的值,对这种语言,可以先申明后初始化,但是python即用即赋值。
所以变量定义分两步,申明,初始化

2020/02/04 03-JS标识符类型转换字符串和数值_第10张图片
let c已经被申明过,下面不能使用2020/02/04 03-JS标识符类型转换字符串和数值_第11张图片
应该改成这样
2020/02/04 03-JS标识符类型转换字符串和数值_第12张图片
这样执行就没有问题
2020/02/04 03-JS标识符类型转换字符串和数值_第13张图片在这里插入图片描述
标识符区分大小写,不能以数字开头2020/02/04 03-JS标识符类型转换字符串和数值_第14张图片const申明常量,申明时,常量必须初始化
2020/02/04 03-JS标识符类型转换字符串和数值_第15张图片
这一句只能合在一起写
2020/02/04 03-JS标识符类型转换字符串和数值_第16张图片
常量一旦赋值就不允许变,常量要求在申明时必须赋值,一旦赋值就不允许改变2020/02/04 03-JS标识符类型转换字符串和数值_第17张图片
先申明后赋值,常量赋值了就不想允许修改2020/02/04 03-JS标识符类型转换字符串和数值_第18张图片
var支持局部变量,全局变量
2020/02/04 03-JS标识符类型转换字符串和数值_第19张图片
这样一旦写了就是全局变量,全局变量最容易冲突,python是用模块,大的边界,把全局变量局限起来
在这里插入图片描述2020/02/04 03-JS标识符类型转换字符串和数值_第20张图片
这个定义后,直接就是全局变量2020/02/04 03-JS标识符类型转换字符串和数值_第21张图片
如果取消注释,打印 a就是undefined2020/02/04 03-JS标识符类型转换字符串和数值_第22张图片
明确知道标识符定义不会再修改,就可以直接什么const常量在这里插入图片描述
在这里插入图片描述

数据类型

2020/02/04 03-JS标识符类型转换字符串和数值_第23张图片
对象类型,类似json,认为一个对象就是属性,可以任意对应上面的合法类型
在这里插入图片描述
ES是动态弱类型语言
在这里插入图片描述
典型的弱类型语言
2020/02/04 03-JS标识符类型转换字符串和数值_第24张图片2020/02/04 03-JS标识符类型转换字符串和数值_第25张图片
JS,C++,java可以这么写,python是强类型,不可以这么写
2020/02/04 03-JS标识符类型转换字符串和数值_第26张图片
所谓的加法,就是把前面的数据转换成字符串,前提是隐式转换成字符串
2020/02/04 03-JS标识符类型转换字符串和数值_第27张图片
js的参数执行顺序是从左到右,有些语言不是

2020/02/04 03-JS标识符类型转换字符串和数值_第28张图片
NaN,是一个特殊的number,undefined没有赋值,转换失败用一个东西标识,就是NaN。
true代表1 +8=9

2020/02/04 03-JS标识符类型转换字符串和数值_第29张图片
2020/02/04 03-JS标识符类型转换字符串和数值_第30张图片
这个符号其实在这里是位与,2020/02/04 03-JS标识符类型转换字符串和数值_第31张图片
2020/02/04 03-JS标识符类型转换字符串和数值_第32张图片
在python的时候,能把短路的往前放就往前放,短路运算符在大多数语言都支持
2020/02/04 03-JS标识符类型转换字符串和数值_第33张图片在这里插入图片描述
undefined可以转换成数字
2020/02/04 03-JS标识符类型转换字符串和数值_第34张图片
NaN是特殊的值,和任何值都不等,和自己也不同,只能用Number.isNaN()判断是否是NaN在这里插入图片描述2020/02/04 03-JS标识符类型转换字符串和数值_第35张图片
总结:
短路运算符除外,其他在加减,位与运算的时候,都会有转换的过程,大多数转换都有规律。
1.遇到字符串,所有 都往字符串转。
2.没有字符串,当数字,转不到数字,能NaN出来就是NaN
短路不会有隐式转换,除非明确,不要依赖隐式转换。

字符串

2020/02/04 03-JS标识符类型转换字符串和数值_第36张图片
在这里反引号可以多行。
在这里插入图片描述
反引号还支持插值运算
在这里插入图片描述2020/02/04 03-JS标识符类型转换字符串和数值_第37张图片
在浏览器的js交互控制台也可以试试
2020/02/04 03-JS标识符类型转换字符串和数值_第38张图片
这个变量名就是上面的标识符
在这里插入图片描述

转义字符

在这里插入图片描述
2020/02/04 03-JS标识符类型转换字符串和数值_第39张图片
ascii码0,在c里面的含义是字符串的结束符
在这里插入图片描述
8进制
在这里插入图片描述
16进制
在这里插入图片描述
双反写扛代表反斜杠
在这里插入图片描述

字符串操作方式

在这里插入图片描述
2020/02/04 03-JS标识符类型转换字符串和数值_第40张图片
2020/02/04 03-JS标识符类型转换字符串和数值_第41张图片
concat字符串链接
2020/02/04 03-JS标识符类型转换字符串和数值_第42张图片
slice相当于python里的切片school【3:】
在这里插入图片描述
前包后不包
2020/02/04 03-JS标识符类型转换字符串和数值_第43张图片在这里插入图片描述
split切完是array数组
substr,返回子串从何处开始,取多长
substring,返回字串,从何处开始,到什么为止

2020/02/04 03-JS标识符类型转换字符串和数值_第44张图片2020/02/04 03-JS标识符类型转换字符串和数值_第45张图片
replcae把什么替换成什么样子,trim类似python里的strip(把两头空白字符去掉)
indexof是从什么时候开始

2020/02/04 03-JS标识符类型转换字符串和数值_第46张图片

数值

都是双精度浮点型的
二进制写0b
八进制写0o
十六进制写0x
指数标识,2e-2,2*10^-2次方

2020/02/04 03-JS标识符类型转换字符串和数值_第47张图片2020/02/04 03-JS标识符类型转换字符串和数值_第48张图片2020/02/04 03-JS标识符类型转换字符串和数值_第49张图片
最小值,10的-324次方
在这里插入图片描述
这里有正负无穷,所有1/0,infinity无穷2020/02/04 03-JS标识符类型转换字符串和数值_第50张图片
-1就是负无穷,在其他语言就是除0失败2020/02/04 03-JS标识符类型转换字符串和数值_第51张图片2020/02/04 03-JS标识符类型转换字符串和数值_第52张图片
Math就是数学库,提供了最基本的数学函数
2020/02/04 03-JS标识符类型转换字符串和数值_第53张图片
log2开方,sqrt返回一个数的平方根,random()0和1的开区间2020/02/04 03-JS标识符类型转换字符串和数值_第54张图片2020/02/04 03-JS标识符类型转换字符串和数值_第55张图片
将字符串参数解析成浮点数,和全局方法parseFloat()作用一致
在这里插入图片描述2020/02/04 03-JS标识符类型转换字符串和数值_第56张图片向下取整
2020/02/04 03-JS标识符类型转换字符串和数值_第57张图片

你可能感兴趣的:(52前端开发之ES6入门(一))