一、书写位置
1.内嵌式:位于body尾部标签之前
2.行内式->不推荐:写在标签里面
3.外链式->推荐:位于body尾部标签之前
二、js注释
// :单行注释
/**/ :多行注释
<!-- --!>:html注释标签
三、变量
定义:值变化的量
本质:内存中的存储单元,理解为一个容器
变量定义语法:
var 变量名称
var name //使用var关键字定义一个名为name的
var score
变量的赋值
score=100 //将100赋值给source变量
访问变量
console【控制台】.log(score[变量名]) //控制台显示变量值
变量命名
规则 1.必须是字母数字,下划线,$美元组成 2.不能数字开头 3.不能是关键字(特殊意义的单词),比如:var 4.不能是保留字(将来有特殊用处的单词)
规范 1.语义化 2.驼峰命名 var userName 变量第二个单词首字母大写 3.不要使用中文
内存结构
1.内存结构分为栈区域与堆区域 2.变量的本质上是内存中存储单元
四、数据类型
定义:
变量值的类型 var score=100
数据类型分类
基本数据类型 复杂数据类型
基本数据类型
数值类型:number 所有数字 1,2,3,10 特殊的数字类型 NaN (not a number )非数字
字符串: string 引号引起来 "jack" 'jack' var userName='jack' //创建一个名为userName的字符串类型的变量,值是'jack' 【userName默认是数据类型为string】
布尔类型: Boolean 值:true 成立(真) false 不成立(假) var isDelete=false
空类型: null 默认值:null var idNull=null
未定义类型:underfind var age
判断数据类型
typeof 变量名 =>数据类型(=>返回值)
输出
console.log(变量) console.log(变量1,变量2,.....) console.log('字符串')
数据类型转换
字符串->其他类型(number,Boolean,null(object),underfined) 方法: Number(变量名) 例子:var message='100' //string Number(message)->100//string类型转换为number类型 Number('jack')->NaN
其他类型转数值 布尔值转number Number(true)=>1 Number(false)=>0 null转number Number(null)->0 未定义转number Number(underfined)->NaN
方法:parseInt() parseInt('100')->100 特点: 1.从左往右转换 2.遇到数值字符串转为数值,遇到非数值从当前结束转换,如果第一个为非数值,结束输出NaN 3.取整
方法:parseFloat() parseFloat('10.98')->10.98
其他类型转string String(变量名)
其他类型转->boolean Boolean()
isNaN()检查变量是否是非数值 是false 否true
+ 加号
意义: 1.连接符 ;'hello'+'word'->heloword 2.算术运算符: 10+20->30 错误写法:10+'20'->'1020'
隐式类型转换
五、运算符
运算符分类
1.算术运算符
+ - * / %
隐式类型转换 对字符串进行隐式转换,将其转换为数值型
2.赋值运算符 = += -= =:赋值 +=: num+=10 num=num+10 -=: num-=10 num=num-10
3.比较运算符
> >= < <= ==
8>3 比较运算结果是Boolean值
== 与 ===区别 100=='100' =>true 100==='100' => false 两个等号之比较值是否相同 三个等号比较值与数据类型 是否相同
4.逻辑运算符 && 逻辑与运算(逻辑且运算) 符号两边必须均为真,则为真 两边假,则1位假 有一边假,则为假。 true&& true->true true&& false->false
|| 逻辑或运算 同为假,则为假 有一真即为真
! 逻辑非 非真则假 非假则真
注意:短运算 false && true->false
4.自增自减运算符 ++ 自增运算符 var a=10 a++ //a=>11
-- 自减运算符 a--// a=>9
注: 可以放在变量前后,如果单独运算无区别,但如果参与其他运算,在前在后有区别 区别: var a=10 var m=++a 先加1,再赋值 a=a+1, m=a
var a=10 var m=a++ 先赋值,再加1
5.符号优先级 .[] ()>++ -- !>算术运算符>比较运算符>逻辑运算符>赋值运算符