这是我的第一篇掘金博客,开启掘金写作之路^-^
一,js引用
-
引入外部js 文件
<script src="路径"></script> -
内部js文件
<script>js语句</script> -
行内js语句
<button onclick="conlose.log('wqqqq')"></button>
二,注释
- 单行注释
//这是一条单行注释 - 多行注释
/* 这是一条 多行注释 */
三,标识符
-
指变量\数组\函数等名字,
-
不能数字开头
-
禁止使用ES里面的关键字和保留字
-
关键字:一组具有特定用途的关键字.例如if,else,this等
-
保留字:当前版本没有成为关键字,下个版本可能成为关字long,super,shortm,debugger等
-
-
望文知意
-
匈牙利命名法,数据类型对应的前缀,一个活多个小写字母开头
-
数据类型 对应前缀 Array数组 a Boolean布尔 b Float 浮点 f Function fn Interger(int)整型 i Object对象 o Regular Expression正则 re String字符串 s
四,变量
-
js是一门弱类型语言 动态语言
- Int a=10 java
- let a;a=5 变量的数据类型由等号后面的值决定
-
变量声明
-
var
-
var声明的变量可以用来保存任何类型的值,声明的范围是函数作用域;
-
可重复声明
-
遗漏声明
-
禁止变量未声明就使用
-
变量提升
- 只提升声明不提升值
-
-
let(ES6)
- let声明的范围是块作用域;
- let a;声明
- a=5;赋值
- let a=5;声明和赋值可以同时进行
- 一次可以声明多个变量,用逗号隔开
- 不能让在相同作用域内重复声明
-
const(ES6)
-
const声明变量时必须同时初始化变量,且初始化后值不可再修改。
-
更改数据值
- 对于简单值:不可更改
- 对于复杂值:不改变引用下可以更改
- 原始数据类型
-
js中的每一个值都必须属于一个数据类型
-
-
五,数据类型
-
基础数据类型(原始数据类型) 简单型
| 数据类型 | 英文 | |
|---|---|---|
| 未定义 | Undefined | 函数没有返回值, |
| 空 | Null | 常被用于释放内存 |
| 数字 | Number | |
| 布尔 | Boolean | |
| 字符串 | String | |
| 符号 | Symbol(ES6) |
-
数字型
-
整数
let a=1
-
浮点数
let a=0.2- 尽量避免浮点数参与计算
console.log(0.2*0.2);//0.04000000000000001
-
最大值最小值
console.log(Number.MAX_VALUE); //运行结果1.7976931348623157e+308 console.log(Number.MIN_VALUE); //运行结果5e-324 -
无穷大
console.log(Number.MAX_VALUE*2); //运行结果Infinity -
NaN(非数)不是数字,但数据类型是数字型
console.log('zhangsan'-10); //NaN- isNaN()用来判断是否为非数,是返回ture,不是返回false
- 用typeof查看数据类型
console.log(**typeof** NaN);//Number- 涉及到NaN的计算都会返回NaN
- NaN不与任何值相等,包括自己
-
-
字符串型
-
接受到的值都是字符串
-
推荐使用单引号
-
引号嵌套的时候,单双引号交叉使用
-
console.log('zhangsan"18sui"');//zhangsan"18sui" -
引号不支持换行,用 转义符 \n 换行
-
查看字符串长度 .length
-
字符串拼接
-
用加号拼接
-
字面量:加号后面可以接任意数据类型的值,最后都会被拼接成字符串
-
字符串模板(ES6新增)
-
支持多行文本
-
let str4=
0糖哦哦; //0糖哦哦
-
变量解析
**console.log(我是{age}岁了);**
-
-
-
布尔型
-
他的值为true和false
-
在四则运算中被当成1和0
-
false
- 空字符串:包含'',"",字符串模板``
- 0
- NaN
- false
- null
- undefined
-
-
undefined
-
一个变量声明了没有复赋值就是Undefined,但不会将一个变量设置成Undefined的数据类型
-
返回undefined
- 访问未赋值的变量
- 任何被设定成undefined的值的变量
- 没有定义return表达式的函数,隐式返回undefined
- return表达式没有显示的返回任何内容
- 访问不存在的属性
-
-
引用数据类型(合成数据类型) 复杂型
-
数据类型 对象 Object 引用数据类型
六,数据类型转换
-
隐式转换
- 系统内部自动发生的转换,一般发生于不同的数据类型进行运算时
- 不同的数据类型进行比较
- 不同的数据类型进行运算
- 对非布尔值求布尔值
-
显示转换
-
转换成字符串 let num=11;
-
把数字类型转换成字符串
-
变量 . toString()
- let str=num.toString();
-
强制转换 String()
- console.log(String(num));
-
利用"+"做字符串拼接
- console.log(num+'aabbcc');
-
-
-
转换成数字型
-
parseInt(变量)把字符型转换成数字型,并且得到的是一个整数 let age=18
- let age1=parseInt(age);
- 如果第一个字就不是数字,返回NaN
-
parseFloat(变量)把字符型转换成数字型,并且得到的是一个浮点数
- let age1=parseFloat(age);
- 如果是浮点数就转换成浮点数,整数还是整数
-
利用Number()转换
console.log(Number(12345));//12345 console.log(Number('12345'));//12345 console.log(Number(123.45));//123.45 console.log(Number(12.12.3));//NaN console.log(Number('123.45abc'));//NaN console.log(Number('abc45'));//NaN- 可以转换为整数,也可以转换为浮点数,取决于被转换的值
- 一旦解析到无效数字都将返回NaN
- 布尔值转换成0和1
- 空字符串和null转换成0
- 非数和undefined转换成NaN
console.log(Number(null));//0 console.log(Number(''));//0 console.log(Number(true));//1 console.log(Number('abcd'));//NaN console.log(Number(undefined));//NaN
-
-
利用算术运算转换
console.log('11'-0);//11 console.log('11'*2);//22 console.log('12'/2);//6- 不能使用加号,会转换成字符串
-
转换为布尔值
- Boolean()
console.log(null==undefined);//true console.log(null===undefined);//flase
七,运算符
-
按照操作个数分类
- 一元运算符 例:typeof
- 二元运算符 例:* /
- 三元运算符 例:三目运算
-
按用法分类
-
四则运算 + - * /
- 加号除了运算还可以做字符串拼接
- -*/可以把字符串转换成数字类型
-
取余,判断是否能够整除
-
自增自减 ++ --
- ++在前,先自增再运算
- ++在后,先运算在自增
-
+=-=*=/=
=^=*
-
关系运算符
- <= >= == ===(全等于,还要判断数据类型)
- 返回true和false
-
逻辑运算符
-
与&& 两个都为真才真
短路运算
- 如果都是真值就返回最后一个真值
- 如果有假值,就返回第一个假值
-
或|| 两个都为假才假
短路运算
- 如果都是真值就返回第一个真值
- 如果有假值时,返回第一个真值
- 如果都是假值,就返回最后一个假值
-
非!
-
-
其他运算符
-
逗号运算符
-
typeof 查看数据类型
-
三目运算符
- 表达式1 ? 表达式2 : 表达式3
- 表达式1为真执行表达式2
- 表达式1为假执行表达式3
-
-