1.alert控制浏览器弹出一个警告框
document.write()向body中输出一个内容
console.log()向控制台输出一个内容
2.js编写位置
可以将js代码编写到外部js文件中,然后通过引入script标签引入
写到外部文件中可以在不同的页面中同时使用,也可以利用到浏览器的缓存机制
推荐使用
–>
<!–
script标签一旦用于引入外部标签,就不能再编写代码了
若需要则可重新创建一个新的script标签编写内部代码
可以将js代码编写到标签的onclick属性中
点击按钮后才会执行
虽然可以写在属性中,但属于结构与行为耦合,不方便维护,不推荐使用
3.基本语法:
JS注释:(多行),//单行注释
JS中严格区分大小写
JS中每一条语句以(;)结束
如果不写,浏览器会自动添加,但会消耗系统资源
而且可能加错,所以必须写
JS会忽略多个空格和换行,可以利用空格和换行对代码进行格式化
-
字面量:不可改变的数值,
1 2 3 4 5
都是可以直接使用,但一般不直接使用变量:可以用来保存字面量,值可以任意改变
-
标识符:
可以有字母,数字,_,$
不能以数字开头
不能是ES中的关键字或保留字
一般采用驼峰命名法:
首字母小写,每个单词开头字母大写,其余字母小写:helloWorldJS底层保存标识符时实际上是采用的Unicode编码 所以理论上讲,所有的utf-8含有的内容都可以作为标识符
-
数据类型:字面量的类型(六种)
string字符串
使用引号括起来,若不加就是变量
引号不能嵌套,但可以使用转义字符
" : "
’ : ’
\n :换行
\ :
number数值
boolean布尔值
null空值
undefined未定义
object对象除了object是引用数据类型,其余都是基本数据类型
-
标识符:
可以有字母,数字,_,$
不能以数字开头
不能是ES中的关键字或保留字
一般采用驼峰命名法:
首字母小写,每个单词开头字母大写,其余字母小写 -
使用运算符typeof检查变量的类型
语法: typeof 变量
返回结果:字符串string
数值numberJS中可以表示数字的最大值 Number.MAX_VALUE: 1.79769……+308 如果使用number表示的数字超过了最大值,则会返回一个 infinity 表示正无穷 -infinity 表示负无穷 NaN 不是数字 使用typeof检查infinity也会返回number
-
boolean:true/false,
用typeof检查infinity也会返回boolean -
强制类型转换:
将其他的数据类型转换为:string number boolean转换为string数据类型: 方式1:调用被转换数据类型的toString()方法 该方法不会影响到原变量的值 null和undefined这两个值没有toString方法,若调用,则报错。 方式2:调用string()函数,并将被转换的数据作为参数
-
将其他的数据类型转换为number
方式:
使用Number()函数
-字符串–>数字
1.如果直接是纯数字的字符串,则直接转
2.如有非数字的内容,则转换为NaN
3.如果字符串是一个空串或一个全空格的字符
-字符串–>数字
true:1;
false:0.
null–>数字:0
undefined–>数字调用parseInt()函数将a转换为Number parseInt()函数可以将一个字符串中有效的整数内容取出来 parseInt()和parseFloat()作用类似,不同的是他们获得的有效小数
-
将其他类型转换为Boolean
使用Boolean()函数
-数字–>布尔:除了0和NaN,其余都是true
-字符串–>布尔:除了空串,其余都是true
-null,undefined都会转换为false
-对象也会转换为true -
运算符也叫操作符
通过运算符可以对一个或多个值进行运算,并获取运算结果
比如typeof就是运算符,获得一个值的类型
它会返回该值的字符串类型:
number string boolean unfined object算数运算符:+ - * / % 对非number值,先转换为number类型再计算 任何值与NaN作运算都得NaN 任何值与字符串相加都会转换为字符串,并做拼接返回 所以可以将任意数据类型转换为string
这是一种隐式的类型转换,由浏览器自动生成,实际上它也是调用String()函数
除了加法,其他的都是转换为number再计算 可以通过为一个值-0 *1 /1来将其转换为Number 原理和Number()函数一样,但更简单
-
一元运算符:只需要一个操作数
负号:对数字进行取反对非number类型的值: 先转化为number,再运算 可以对一个其他类型使用+,将其转换为number类型
-
逻辑运算符:
! 非:对布尔值进行取反操作
对非布尔值先转换为布尔值,再计算
可以利用此特点将其他数据类型转换为布尔类型
可以为一个任意数据类型取两次反,来将其转换为布尔值
原理和Boolean()函数一样&& 与:对符号两侧的值进行与运算并返回结果 全true则true,有一个false则false 如果第一个值为false,则不再检查第二个 || 或:对符号两侧的值进行或运算并返回结果 全false则false,有一个true则true 如果第一个值为true,则不再检查第二个
-
&& || 非布尔值的情况
先将其转换为布尔值,然后再运算,并且返回原值与运算:true && true:返回后者 如果第一个值为false,则返回第一个值 如果第一个值为true,则返回第二个值 非运算:两个值都为false,则返回前者 如果第一个值为true,则返回第一个值 如果第一个值为false,则返回第二个值
-
赋值运算符:
=
+= -
关系运算符:
比较两个值之间的大小关系
成立,返回true
不成立,返回false> >= < <= 非数值:将其转换为数值,再比较
如果符号两侧都是字符串,则不会转换为数字,而是直接比较两者的Unicode编码
一位一位进行比较,如果两位一样,则比较下一位
比较两个字符串的数字时,一定要转型
任何值与NaN作比较,都是false -
在字符串编码中使用转义字符输入Unicode编码
\u四位编码
在网页中使用Unicode编码
&#编码;(十进制的编码) -
==
undefined衍生自null
所以这两个值做比较时,会返回trueNaN不和任何值相等,包括它本身 != 不相等 === 全等:和==类似,但其不会进行自动类型转换 如果两个值类型不同,直接返回false !==
-
条件运算符也叫三元运算符 语法: 条件表达式?语句1:语句2 求值:true,执行语句1,返回结果 false,执行语句2,返回结果
-
程序由一条条语句构成
语句自上向下执行
在js中可以使用{}为语句分组,即代码块,同时执行或者不执行
在代码块后边不用再编写;了JS中的代码块只具有分组作用,没有其他的用途 代码块内容的内容,在外部是完全可见的
-
prompt()可以弹出一个提示框,会带有一个文本框
用户可在文本框输入内容,该函数需要一个字符串作为参数
该字符串将会作为提示框的提示文字用户输入的内容将会作为函数的返回值返回,可以定义一个变量来接收该内容
-
程序由一条条语句构成
语句自上向下执行
在js中可以使用{}为语句分组,即代码块,同时执行或者不执行
在代码块后边不用再编写;了JS中的代码块只具有分组作用,没有其他的用途 代码块内容的内容,在外部是完全可见的
-
流程控制语句:
语句的分类:
1.条件判断语句
2.条件分支语句
3.循环语句条件判断语句: 使用条件语句可以在执行某个语句之前进行判断 成立才执行 -if语句 语法一: if(条件表达式) 语句 if语句在执行时,会先对条件表达式进行求值判断 为true才执行if后面的语句 if语句只能控制紧随其后的那条语句(可放入代码块) 语法二: if(条件表达式){ 语句…… }else{ 语句…… } if……else……语句 当该语句执行时,会先对if后的条件表达式进行求值判断 为true,则执行if后的语句 为false,则执行else后的语句 语法三: if(条件表达式){ 语句…… }else if{ 语句…… }}else if{ 语句…… }else{ 语句…… } if……else……if……else……语句 当该语句执行时,会先对if后的条件表达式进行求值判断 为true,则执行if后的语句 为false,则执行else后的语句