JavaScript语言
前言
JavaScript是是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。
JavaScript语言
- 强制类型转换
- 运算符
- 条件语句
走向JavaScript第一步Helloworld
alert是指打开浏览器弹出的对话框显示的内容
在这里document是指文档的意思即在body标签中操作
console在JavaScript里是控制台的意思
JavaScript代码的编写位置
第一种就是以上形式就不用声明
第二种是将js代码写到标签的onclick属性中
第三种是将js代码写在超链接的href属性中
第四种是写到外部文件后缀名为.js文件
注意一个小细节如果Script一旦用于引入外部文件,就不能在编写代码,即使编写,浏览器也会选择忽略
如果需要可以再创建一个新的script标签
基本语法
1.Js中严格区分大小写
2.Js中每一条语句以(;)结尾
3.Js中huihulve多个空格和换行,可以利用空格和回车对代码进行格式化
字面量和变量
字面量:是指不可改变的值,也就是常量。它可以直接被使用例如:1,2,3,4
变量:变量可以用来保存字面量,而且变量的值是可以任意改变的
在js中使用var关键字来声明一个变量
标识符
在js中自主命名的都可以是标识符,变量名、函数名、属性名都属于标识符
命名一个标识符需要遵守的规则
1.标识符可以含有字母、数字、_、$
2.标识符不能以数字开头
3.标识符不能是ES中的关键字或保留字
4.标识符一般都采取驼峰命名法:首字母小写,每个单词的开头字母大写,其余字母小写
实际上JS底层保存标识符时实际上是采用的Unicode编码,
所以理论上讲,所有的Utf-8中含有的内容都可以作为标识符
数据类型
数据类型指的就是字面量的类型,在js中一共有六种数据类型
String 字符串 Number 数值 Boolean 布尔值
Null 空值 Undefined 未定义 Object 对象
其中String Number 、Boolean、 Null、 Undefined属于基本类型
而Object属于引用数据类型
字符串
在JS中字符串需要使用引号引起来,使用双引号或单引号都可以,但是不要混着用
引号不能嵌套,双引号不能放双引号,单引号不能放单引号
在字符中我们可以使用\作为转义符,当表示一些特殊符号时可以使用\进行转义
Number类型
在JS中所有的数值都是Number类型,包括整数和浮点数
在这里可以使用运算符typeof来检查一个变量的类型
语法:typeof变量
JS中可以表示的数字的最大值
如果使用Number表示的数字超过了最大值,则会返回一个Infinity(正无穷) -Infinity(负无穷)
使用typeof检查Infinity也会返回Number,
NaN是一个特殊的数字,表示Not A Number
使用typeof检查一个NaN也会返回一个number
布尔值(Boolean)
布尔值有两个用于做逻辑判断true(真)和false(假)
Null和Undefined
Null(空值)类型只有一个值,就是null,专门用来表示空的对象
使用typeof检查一个null空值时,会返回object
Undefined(未定义)类型的值只有一个,就undefined
只有当声明一个变量,但是并不给变量赋值时,他的值就是undefined
使用typeof检查一个undefined时也会返回undefined
强制类型转换
是指将一个数据类型强制转化为其他的数据类型
类型转换主要指,将其他的数据类型转换为String、Number、Boolean
String转换
方法一:调用被转换数据类型的toString()方法
该方法不会影响到原变量,它会将转换的结果返回
需要注意:null和undefined这两个值没有toString()方法
如果调用他们的方法,会报错
方法二:调用String函数,并将转换的数据作为参数传递给函数
使用String()函数做强制转换时,对于null和undefined,不会调用toString()方法
它会将null转换为“null”,undefined也是一样
Number转换
将其他的数据类型转换为Number
转换方式一:
使用Number()函数
字符串转换为数字
1.如果是纯数字的字符串,则直接转换为数字
2.如果字符串中有非数字的内容,则转换为NaN
3.如果字符串是个空串或者是一个全是空格的字符串
布尔值转换数字
true转换成1 false转换成0
Null转换成数字 0
undefined转换成数字 NaN会报错
转换方式二
是专门针对字符串转换为数字
parseInt()将一个字符串转换成整数
parseFloat()将一个字符串转换为一个浮点数
如果非String使用parseInt()或parseFloat(),他会先将转换为String,然后在操作
这种方法是提取数字,由此可以在被转换成数字之前可以随意添加多种不同类
型,最终的结果还是提取出数字。
Boolean类型转换
将其他数据类型转换为布尔类型
使用Boolean()函数转换
数字转成布尔值除了0和NaN,其余的都是true;
字符串转换成布尔值除了空串,其余都是true;
null和undefined都会转换为false
对象也会转换为true
其他进制的数字
在JS中需要表示16进制的数字,则需要以0x开头
表示八进制的数字,是以0开头;表示二进制的数字,是以0b开头
但也不是所有的浏览器都支持
运算符
算数运算符
+、-、*、/、%
当对非Number类型的值进行运算时,会将这些值转换为Number然后再运算
任何值和NaN做运算都得NaN
+可以对两个值进行加法运算,并将结果返回
如果两个字符串相加是拼接,并返回
任何值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼串的操作
一元运算符
一元运算符其实就是指 +(正号)和-(负号)
自增和自减
在JS里符号是++和–
通过自增可以在自身基础+1
对于一个变量自增以后,原变量的值会立即自增1
自增分成两种++a和a++,前++是先自增后输出数,后加加是先输出数后自增
同理–也是一样。
逻辑运算符
!非
所谓非运算就是值对一个布尔值进行取反操作 true变false false变true
如果对一个值进行两次取反,不会产生变化
可以对符号两侧的值进行与运算并返回的结果
两个值中只要有一个值为false就返回false,只有两个值都为true时,才会返回一个true
在JS中是短路与,如果第一个值为false,则不会看第二个值
||或 可以对符号两侧的值进行与运算并返回的结果
两个值只要有一个true,就返回true;如果两个值都为false,才会返回false
在JS中“或”属于短路或,如果第一个值为true,则不会检查第二个值
&& ||非布尔值的情况
对于非布尔值进行与或运算时,会将转换为布尔值,然后运算
与运算:如果第一个值为true,则返回第二个值,如果第一个值为false,则返回第一个值
或运算:如果第一个值为true,则返回第一个值,如果第一个值为false,则返回第二个值
赋值运算符
关系运算符
三元运算符
语法:条件表达式?语句1:语句2;
执行流程:条件运算符在执行时,首先对条件表达式进行求值
如果为true,则执行语句1,并返回执行结果
如果该值为false,则执行语句2,并返回执行结果
运算符的优先级
条件语句
if语句、switch语句、while循环、for循环、嵌套循环、break和continue
if语句
语法格式一
语法格式二
switch语句
语法结构
while循环
语法结构
for循环
嵌套循环
九九乘法表
break和continue
break关键字可以用来退出Switch或循环语句,不可以在if语句中使用break和continue
break会立刻终止离他最近那个循环语句
t.write(i++ + “
”);
}while(i<=10);
嵌套循环
九九乘法表
break和continue
break关键字可以用来退出Switch或循环语句,不可以在if语句中使用break和continue
break会立刻终止离他最近那个循环语句
continue是跳出本次循环