什么是语言
- 计算机就是一个由人来控制的机器,人让它做什么,它就得做什么。我们要学习的语言就是人和计算机交流的工具,人类通过语言来控制、操作计算机。
- 编程语言和我们说的中英文没有太大区别,只是语法比较特殊
至于它的发展史在此不做详细介绍,如果感兴趣,可以自行去了解,------>JavaScript
接下来进入正题,
一、JS特点
- 解析性语言
- 类似于C和java的语言结构
- 动态语言
- 基于原型的面向对象
<script type="text/Javascript">
//控制浏览器弹出一个警告框
alert("我弹出来了~");
//让计算机在页面中输出一个内容
document.write()//可以向body中输出一个内容
document.write("我在这wacbr")
//向控制台输出一个内容
console.log("四你猜我在哪出来呢?")
</script>
可以将js代码编写到外部js文件中,然后通过script标签引入,写到外部文件中可以在不同的页面中同时引用,也可以利用到浏览器的缓存机制推荐使用的方式
script标签一旦用于引入外部文件,就不能在编写代码了,即使编写了浏览器也会忽略
例如:
<script type="text/javascript" src="js/index.js"></script>
也可以将js代码编写到script标签中
例如:
<script type="text/javascript">
alert("我我我可是script标签中的代码!")
</script>
多行注释
- 注释中的内容不会被执行,但是可以在源代码中查看
/*
我是JS中的多行注释
*/
单行注释
//我是单行注释,也是不会被执行的。
1.JS中严格区分大小写
2.JS中每一条语句以分号(;)结尾
如果不写分号,浏览器会自动添加,但是会消耗一些系统资源,而且有些时候,浏览器会加错分号,所以在开发中分号必须写3.JS中会忽略多个空格和换行,所以我们可以利用空格和换行对代码进行格式化
字面量
- 都是一些不可以改变的值
- 比如:1 2 3 4 5
- 字面量都是可以直接使用,但是我们一般都不会直接使用字面量
变量
- 变量可以用来保存字面量,而且变量的值是可以任意改变的,变量更加方便我们使用,所以在开发中都是通过变量去保存一个字面量,而很少直接使用字面量
- 声明变量,在js中使用var关键字来声明一个变量
关键字
保留字符
其他不建议使用的标识符
标识符
- 在JS中所有的可以由我们自主命名的都可以称为是标识符
- 例如:变量名、、函数名都属于标识符
标识符命名规则
- 标识符中可以含有字母、数字、-$
- 标识符不能以数字开头
- 标识符不能是ES中的关键字或保留字
- 标识符一般都采用驼峰命名法首字母小写,每个单词的开汉字母大写,其余字母小写
JS底层保存标识符时实际上是采用的Unicode编码
数据类型
- 数据类型就是字面量的类型
- 在JS中一共有六中基本数据类型
-String 字符串
- Number 数值
- Boolean 布尔值
- Null 空值
- Undefined 未定义
- Object 对象 - 其中String、Number、Boolean、Null、Undefined 属于基本数据类型,而Object 属于引用数据类型
String字符串
- 在JS中字符串需要使用引号引起来
- 使用双引号或单引号都可以,但是不要混着用
- 引号不能嵌套,双引号不能放双引号,单引号不能放单引号
在在字符串中我们可以使用 \ 作为转义字符,当表示一些特殊符号时可以使用 \ 进行转义
- \" 表示 "
- \’ 表示 ‘
- \n 表示 换行
- \t 表示 制表符(tab键)
可以使用typeof来检查一个变量的类型
语法:typeof 变量
var cbr = '2021314'
console.log(typeof cbr)
//cbr是一个String类型
Number类型
- 在JS中所有的数值都是Number类型,包括整数和浮点数(小数)
- JS中可以表示的数字的最大值
- Number.MAX_VALUE(1.7976931348623157e+308)
- Number.MIN_VALUE 大于0的最小值 (5e-324) - 如果使用Number表示的数字超过了最大值,则会返回一个Infinity(正无穷)
-Infinity 表示负无穷 - NaN 是一个特殊的字符 表示not a Number
- 使用typeof检查NaN返回的是Number
Boolean 布尔值
- 布尔值只有两个 true和false,主要用来做逻辑判断
Null类型
- Null类型的值只有一个,就是null
- null这个值专门用来表示一个为空的对象
- 使用typeof检查一个null值时,会返回object
Undefined类型
- Undefined类型的值只有一个,就是nudefind
- 当声明一个变量,但是并不给变量赋值时,它的值就是nudefind
- 使用typeof检查一个Undefined值时,会返回undefined
强制类型转换
- 指将一个数据类型转换为其他的数据类型
- 类型转换主要指,将其他的数据类型,转换为 String 、Number 、Boolean
- 将其他的数据类型转换为String
- 方式一:
调用转换数据类型的toString()方法
该方法不会影响到原变量,他会将转换的结果返回
但是注意:null和Undefined这两个值没有toString()方法
如果调用他们的方法,会报错
- 方式二:
调用Stirng()函数,并将被转换的数据作为参数传递给函数
使用Stirng()函数做强制类型转换时
对于Number和Boolean实际上就是调用的toString()方法
但是对于null和undefined,就不会调用toString()方法
他会将null 直接转换为"null"
将undefined直接转换为"undefined"
还有一种隐式的类型转换,由浏览器自动完成,实际上它也是调用了Stirng()。
我们只需要为任意的数据类型 + “”(加一个空串),即可将其转换为String
var cbr = 520;
//调用a的toString()方法
cbr =cbr.toString();
//调用Stirng()函数,来将a转换为字符串
cbr = String(cbr);
console.log(typeof cbr);
//cbr 的类型时string
console.log(cbr)//520
-
将其他的数据类型转换为Number
- 转换方式一:
使用Number()函数
字符串 转 数字
a.如果是纯数字的字符串,则直接将其转换为数字
b.如果字符串中有非数字的内容,则转换为NaN
c.如果字符串是一个空串或者是一个全是空格的字符串
布尔 转 数字
true 转成 1
false 转成0
Null 转 数字 0
undefined 转 数字NaN转换方式二:
专门用来对付字符串
parseInt()把一个字符串转换成一个整数
parseFloat()把一个字符串转化为一个浮点数
任何值做减、乘、除运算时会自动转换成Number
var cbr = true;
cbr = Number(cbr);
cbr ="123456789px";
//调用parseInt()函数将a转换为Number
// parseInt()可以将一个字符串中的有效的整数内容走出来,然后转换为Number
cbr =parseInt(cbr);
//parseFloat()作用和parseInt()类似,不同的是可以获得有效的小数
cbr ="123.456px";
cbr =parseInt(cbr);
// 如果对非String使用parseInt()或parseFloat(),它们会先将其转换为String然后再操作
cbr =true;
cbr =parseInt(cbr);
console.log(typeof cbr);
console.log(cbr);
-
其他进制的数字
- 表示16进制的数,则需要以0x开头 - 表示8进制的数字,则需要以0开头 - 表示2进制的数字,则需要以0b开头
var cbr
//cbr = 0x52CB 十六进制
//cbr = 070 八进制
//cbr = 0b10 //二进制
cbr = "070" //像这种字符串,有些浏览器会当成八进制解析,有些会当做十进制进行解析
//可以向parseInt()传递第二个参数,来指定一个数字的进制
cbr = parseInt(cbr,10)
console.log(typeof cbr) //类型为 number
- 将其他的数据类型转换为Boolean
使用Boolean()函数
a. 数字—>布尔
除了0和NaN,其余的都是true
b. 字符串—>布尔
除了空串,其余都是true
null和undefined都会转换为false
对象也会转换为true
var cbr = 123;
cbr = -123;
cbr = Infinity;//true
//调用Boolean()函数来将a转换为布尔值
cbr = Boolean(cbr );
console.log(typeof cbr );
console.log(cbr );
运算符
-
运算符也叫操作符
-
通过运算符也可以对一个或者多个值进行运算,并获取运算结果
-
如:typeof就是运算符,可以来获得一个值得类型
-
会将该值的类型以字符串的形式返回
一元运算符
-
只需要一个操作数
-
正号(+)正号不会对数字产生额任何影响
-
负号(-)负号可以对数字进行负号的取反
自增
- 通过自增可以使变量在自身的基础上增加1, 对于一个变量自增以后,原变量的值会立即自增1 。自增分成两种:前++(++r)和后++(r++)。
不管是r++还是++r,都会立即使原变量的值自增1 ;不同的是r++和++r的值不同 r++的值等于原变量的值, ++r的值等于新值
var c = 1
r = c++
console.log(c) // 2
console.log(r) // 1
console.log("---------------------")
var b = 1
d = ++b
console.log(d) // 2
console.log(b) // 2
自减
- 通过自减可以使变量在自身的基础上减1 。
- 自减分成两种:前- -(- -r)和 后- -(r- -)
- 不管是r- -还是–r都会立即使原变量的值自减1不同的是r- -和- -r的值不同r–是变量的原值(自减前的值)- -a是变量的新值(自减以后的值)
后续内容在这里 https://blog.csdn.net/weixin_44637104/article/details/115524876
还请各位大佬多多指教~