文章目录
一、书写位置
1.内部
写在body中,用<script></script>
包含
2.外部
写在.js文件中,用<script src=" "></script>
引入
3.内联
代码写在标签内部
二、注释
单行 //
多行/* */
三、结束符
分号;
可以省略
为了风格统一,结束符要么每句都写,要么都不写
四、输入输出
输出
document.write(' ')
向body输出内容(注:如果输出的内容是标签,也会被解析)
alert(' ')
页面跳出警告对话框
console.log(' ')
控制台输出,程序员调试使用
输入
prompt('请输入')
显示一个对话框,对话框中包含一条文字信息,用来提示用户输入
五、数据
1.变量
(1)声明
let 变量名
let age=18,uname=‘12’
__注:__不允许多次声明一个变量
(2)赋值
let age
age=18
alert(age)
或
let age=18
(3)命名规范
(1)不能用关键字
(2)小驼峰命名法
第一个单词首字母小写,后面每个单词首字母大小,如userName
2.常量
const
声明——不会改变
声明时必须赋值!
3.数据类型
基本类型:
number 数字型(正数,负数,小数)
+,-,*,/,%
注:NaN代表一个计算错误,任何对NaN的操作都会返回NaN
string 字符串型
’ ’
" "
反引号
字符串拼接:+
使用变量: ${变量名}
boolean 布尔型
undefined 未定义型
只声明变量,不赋值时,变量的默认值为undifined
null 空类型
赋值了,但是内容为空
用法:有个变量中存放一个对象,但是对象还没有创建好,可以赋值null
检测数据类型
typeof x
或typeof(x)
类型转换
1)隐式转换(系统自动转换)
+号两边只要有一个是字符串,都会把另一个转成字符串
除+以外的算术运算符会把数据转成数字类型
缺点:转换类型不明确
2)显示转换
转换为数字型:
Number() 注:字符串内容里有非数字得到NaN
parseInt() 只保留整数
parseFloat() 可以保留小数
转换为字符型:
String()
变量.toString(进制)
六、运算符
1.赋值运算符
=
+=
-=
*=
/=
%=
2.一元运算符
++num
num++ (常用)
–num
num–
3.比较运算符
<,<=,>,>=
===
!==
注:== 为值是否相等
=== 为类型和值都相等
4.逻辑运算符
&&逻辑与
||逻辑或
!逻辑非
5.运算符优先级
1 ()
2 ++ – !
3 * / % + -
4 > >= < <=
5 == != === !==
6 && ||
7 =
8 ,
七、语句
1.分支
if
if(条件1){
代码
}else if(条件2){
代码
}else{
代码
}
?:
条件?满足条件执行的代码:不满足条件执行的代码
switch
switch(数据){
case 值1:
代码1
break
case 值2:
代码2
break
default:
代码n
break
}
2.循环
while
while(循环条件){
代码
}
cotinue,break
continue为结束本次循环,继续下次循环
break为退出整个循环
八、数组
for
for(变量起始值;终止条件;变量变化量){
循环体
}
数组
声明: let 数组名=[数据1,数据2,……,数据n]
取值:数组名[下标]
长度:names.length
遍历:
for(let i=0;i<nums.length;i++){
document.write(nums[i])
}
新增
.push(元素1,元素2…) 加到末尾,返回新长度
.unshift(元素) 加到开头,返回新长度
删除
.pop() 删除最后一个元素,返回元素值
.shift() 删除第一个元素,返回元素值
.splice(起始位置,删除元素的个数) 元素个数可以省,省略表示直到末尾
九、函数
1.声明
fuction 函数名(参数列表){ }
命名规范: 小驼峰,前缀为动词(get,has,is,can,set,load)
2.使用
函数名(参数)
3.参数默认值
function getSum(x=0,y=0){
document.write(x+y)
}
getSum()
getSum(1,2)
4.函数返回值
function getSum(x,y){
return x+y
}
let num=getSum(10,30
5.作用域
全局作用域:函数外部或整个script都有效
局部作用域:函数内部有效
变量访问原则:
先局部,后全局,先近后远
6.匿名函数
let fn=function(){ }
fn()
十、对象
1.声明
let person={
name:'果冻'
age:18;
gender:'男'
}
let person1=new Object()
2.使用
查
person.name
person.fuction()
person[‘name’] 若不加引号,默认当成变量解析
改
person.gender=‘女’
增
person.address=‘华中科技大学’
删
delete person.gender
3.遍历
let obj={
uname:'果冻'
age:18
sex:'女'
}
for(let k in obj){ //k为对象的属性名
console.log(k)
console.log(obj[k])
}
4.内置对象
例:
document.write()
console.log()
内置对象 Math
包含的方法有:
random:生成[0,1)之间的随机数
ceil:向上取整
floor:向下取整
max:找最大数
min:找最小数
pow:幂运算
abs:绝对值
例:
生成0-10的随机数:
Math.floor(Math.random()*(10+1))
生成N-M之间的随机数:
Math.floor(Math.random()*(M-N+1)+N)
参考资料: bilibili 黑马程序员 pink老师