JS
js引入方式
- 行间引入(几乎不用)
<!-- onclick点击事件 alert()提示框 -->
<div οnclick="alert('hahaha')">111</div>
<a href="JavaScript:alert('我是a标签')">我是text按钮</a>
- 内部引入,head标签中,body中,body下(解析时还是在body里)(常用),先加载布局,再来js
<script>
alert('lala')
</script>
- 外部引入 :src放置文件路径,项目常用,内外可以一起用
<script src="./js/01.js"></script>
调试语句+定义变量
- alert()
使用场景:给一些友好的提示会用到
- console.log/console.error/console.warn
打印日志,最常用/打印错误/打印警告
-
document.write
-
声明变量 var
var one=10,two=20,three=30
var haha=null
console.log(one,two)
注意:1. 变量声明后在使用 2. 变量声明要赋值
- 单行注释 //,多行注释/**/
变量命名规则
- 变量名区分大小写
- 变量名由字母,数字,$,_,组成,不包含空格或其他特殊符号,不可以用数字开头
- 不可以使用js中的关键字和保留字,e.g: class,const,,or,var
- 如果变量名有多个单词组成,用驼峰命名法或者用下划线隔开
输出变量类型
typeof()判断某个变量的数据类型
数据类型
-
- 数字类型 Number 可以参加运算
-
- 字符串 String 用"" ‘’ 包起来的就是字符串
-
- 布尔值 Boolean true和false 一般用在判断语句当中
-
- Undefined 定义变量不赋值就会出现
-
-
Object 对象
-
null空对象,
-
array数组,将同一类型的数据放到一起
-
object对象 对某一个东西的具体描述
- 对象名={key:value}
- 对象名.key
-
-
-
6函数
基本数据类型:数字,字符串,underfined,boolean
引用数据类型 :对象和函数
区别
- 基本数据类型 值在栈区 实现拷贝时,两个值互不影响
- 引用数据类型 值在堆区 实现拷贝时,两个值互相影响
所有变量都在栈区,基本数据类型放的是值。引用数据类型放的是指针,指向地址
浅拷贝 拷贝了地址
深拷贝 拷贝了内容
数据类型相互转换
数字转字符串
-
拼接字符串:
任何数据类型和字符串拼接都会变成字符串 ‘10’+100 '10100 ’ string
-
数字.toString() 100.toString() ‘100’ string
-
String(数字) String(100) ‘100’ string
字符串转数字
如何把字符串转换为数字类型:
-
Number(字符串) e.g. Number(‘12’) 12 number
-
字符串*,-,/数字 e.g. ‘12’-10 2 number
NaN
var a='abc'
var aa=a*1
console.log(aa)//NaN
console.log(typeof(aa))//number
NaN==NaN? 不等于,结果同,原型不一定同
运算符
算数运算符
+,-,*,/,%
var num1=10,num2=5;
console.log(num1+num2) ;
console.log(num1-num2) ;
console.log(num1*num2) ;
console.log(num1/num2) ;
console.log(num1%num2) ;
比较运算符
>,>=,>,<=,!=,==等于,===绝对等于
结果是布尔值- ==等于,值相等就可以
- ===绝对等于,值和数据类型都相等
逻辑运算符
&&且(满足所有条件才为真),||或(有一个条件满足就为真),!非
判断语句
- if(条件){符合条件执行代码}
- if(条件){符合条件执行代码}
else{不符合条件执行代码}
- if(条件1){符合条件1执行代码}
else if(条件2){符合条件2执行代码}
else if(条件3){符合条件3执行代码}
else{条件都不符合执行代码}
- 三目运算符:条件?符合条件执行代码:不符合条件执行代码
- switch-case 一般用来判断一个值
break,结束本次语句
循环语句
x-- 先用再减,--x,先减再用
- while(条件){符合条件执行代码} 只要符合条件就一直循环,循环次数不固定
- do{符合条件执行代码}while(条件) 循环次数不固定,第一次不管是否符合条件代码先执行一次
- for(条件){符合条件执行代码}一般配合数组使用,循环次数固定
continue跳出本次循环,for(条件){if(小条件){continue};console.log()}
break,跳出整个循环