JavaScript的基础知识
一.JavaScript的基础知识
1.JavaScript-字面量和变量
字面量:一些不可以改变的量;如:1.3.5.6
字面量可以直接使用,一般情况下不建议直接使用.
变量:变量可用于保存字面量,而变量的值是可以任意改变的.
变量的声明: 通过"var"关键字声明.
2.JavaScript-标识符
Js标识符:在Js中全部可以由我们自主命名的都可以称为标识符.
例如:变量名 函数名 属性名都属于标识符.
Js标识符命名的规则:
(1)标识符中可以含有字母、数字、下划线、$
(2)标识符不能以数字开头
(3)标识符不能使用ES中的关键字和保留字
(4)标识符一般都使用驼峰手法:
--首字母小写,每个单词的开头字母大写,其余部分小写.
小驼峰写法如: whiteHoel.
--首字母大写,每个单词的开头字母大写,其余部分小写.
大驼峰写法如: WhiteHoel.
(5)注意: 中文也可以作为标识符,但是不建议使用.
3.javaScript-数据类型
定义:数据类型就是字面量的类型.
--在Js中一共有6种数据类型
(1)String 字符串
(2)Number 数值
(3)Boolean 布尔值 true/false
(4)Null 空值
(5)Undifined 未定义
(6)0bject 对象
其中的基本数据类型: String Number Boolean Null Undifined
引用数据类型: 0bject
(1).String字符串的使用方法:
--在JS中字符串需要使用引号引起来.
--单引号或双引号都行,但不可以混用(最好统一).
--注意引号的嵌套问题.
--如需要两个双(单)引号同时使用,则可以使用“\”.
“\”: 作为转义字符.
(2).Number数值的使用方法:
--定义: 在所有的数值都是Number类型,包括了整数、浮点数(小数)
--拓展部分:如果使用Number表示的数字超过了最大值,则会返回一个
Infinity: 表示正无穷大
-Infinity: 表示负无穷大
使用typeof检查Infinity也会返回Number.
--Number.MAX_VALUE 表示数值的最大值: 1.7076931348623157e+308
--typeof:用来检查一个变量类型.
(3).Boolean布尔类型的使用方法:
--定义: 布尔值只有2个,主要用来做逻辑判断.
--true: 表示真.
--false: 表示假.
(4).Null空值的使用方法:
--Null(空值)类型的值只有一个,null
--null:专门用来表示一个空对象
--使用typeof检查一个null值时,返回一个object.
(5).Undefined未定义的使用方法:
--Undefined(未定义)的值只有一个,undefined
--声明一个变量但是未给变量赋值时,它的值就是undefined.
(6).object 对象:
--对象的分类
--定义:对象属于一种复合的数据类型,在对象中可以存储多个不同数据类型的属性.
(1)内键对象: 由ES标准中定义的对象,在任何ES的实现中都可以使用
例:Math String Number Boolean Function Object.......
(2)宿主对象:由Js的运行的环境提供的对象,目前来讲主要指由浏览器提供的对象
比如: BoM(浏览器对象模型)DOM(文档对象模型)
例如: 我们常用的console.log() 就是DOM中的对象
(3)自定义对象: 由我们开发人员自己定义的对象
--1.拓展:创建对象
·object创建对象
var obj = new Object() (obj是自定义对象)
·向对象添加属性
obj.name = "滚秃子";(对象的名称+点号+自定义名称)
obj.age = 25;
·获取某一个属性值(或总值)
console.log(obj).(对象的名称)
console.log(obj.name); (在输出内容中:添加对象的名称+点+属性名)
·修改对象的属性值(直接进行修改,在原来的基础上,在重写一个进行修改)
比如: obj.age = 25;(原本)
obj.age= 27;(改本)
·删除对象的某一个属性值(使用delete+对象的名称+点+属性值的名称)
比如:delete obj.age;(便可以删除)
(1)使用new关键字调用的函数,是构造函数(constructor),构造函数是专门用来创建对象的函数.
(2)在对象中保存的值称为属性
在对象添加属性的语法: ①对象.属性名=属性值
②对象[“属性值”]=属性值
读取对象属性的语法: ①对象.属性名
②对象[“属性名”]
提示: 如果对象中没有的属性,不会报错而是返回undefined.
--2.拓展:javaScript对象_属性名与属性值
1.如果对象非要以数字或者其他开头,不遵循标识符的规则,则需要采用object对象的第二种写法,使用[""]括号括起来,并且存或取的时候,也要用括号围起来.
例:let obj = new Object();
obj["123"]= 123;
console.log(obj["123"]);
2.staff(在对象中嵌套对象 )
var a = new Object;
a.name = "小明";
a.age = 24;
a.vocational = "流水线";
console.log(a);
var b = new Object;
b.name = "阿辉"
b.age = 30;
b.vocational = "老板"
b.staff=a;
console.log(b);
属性名:对象的属性名不强制要求遵守标识规则,而我们自己定义的使用都必须遵守标识符规则.
建议: 绝对不建议使用该方式.
--3.in的运算符
通过该运算符检查一个对象中是否含有指定的属性
如果含有则返回true,如果没有则返回false
语法: “属性名” in 对象
例:console.log("name" in b);
(“name”是属性名 in 是检查对象指定的属性 b是对象的名称)
4.javaScript-强制类型装换
定义:将一个数据类型强制转换为其他的数据类型.
类型转换主要指,将其他的数据类型转换为"String NumberBoolean
建议: null和underfined这两个值没有toString()方法,如果调用该方法程序会报错.
(1)将其他的数据类型转换为String()方法
--调用被转换数据类型的toString()方法
--该方法不会影响原变量,它会将转换的结果返回
--建议:null和undefined这两个值没有toString()方法,如调用该方法程序会报错.
调用String()函数,并将被转换的数据作为参数传递给函数
--使用String()函数做强制类型转换时,
对于Number Boolean实际上是调用的toString()方法
但是对于null和underfind,就不会调用toString()方法
它会将null直接转换为“null”(字符串)
它会将undefined直接转换为“undefined”(字符串)
方法一: (2)将其他的数据类型转换为Number
--使用Number()函数
--使用字符串转换数字:
1.如果是纯数字的字符串,则可以直接转换为数字
2.如果字符串中有非数字的内容,则转换为NaN
3.如果字符串是一个空串或者是一个全是空格的字符串,则转换为0.
--布尔值转换为数字
1.true转换为1
2.false转换为0
--null转换为数字:直接等于0
--undefined转换为数字:NaN
方法二: (2.2)将其他类型转换为Number
--这种方式专门用于字符串类型
--parseInt() 把一个字符串转换为一个整数(可以将一个字符串中的有效整数内
容取出来,然后转换为Number)
--parseFloat() 把一个字符串转换一个浮点数
--parseFloat()与parseInt()类似,不同的是它可以获取有效的小数
(3)将其他类型转换为Boolean
--使用Boolean()函数
--数字转化为布尔除了0和NaN是false,其余的全部都是true
--字符串转化为布尔除了空串是false,其余的全部都是true
--null和undefined都会转换为false
--对象也会转换为true
5,javaScript-运算符
--定义:运算符也叫操作符,通过运算符可以对一个或多个值进行运算,并获取运算结果.
(1)算数运算符:
+(加):可以对两个值进行加法运算,如果是两个字符串则进行字符串拼接,任何值和字串做加法运算,都会先转为字符串,然后在和字符串做拼接操作.
(也可以通过“+”完成隐式转换)
- (减):可以对两个值进行减法运算,并返回运算结果
*(乘):可以对两个值进行乘法运算,并返回运算结果
/(除):可以对这两个值进行除法运算,并返回运算结果
% (取模):取模运算(取余数)
++: 自增
——: 自减
提示: --同级运算,从左到右开始算起
--任何值做 + - * / 运算时自动转换为Number,可以利用这一特性完成隐式转换.
(2)逻辑运算符:
-- js中为我们提供了三种运算逻辑运算符.
!(非): !可以用来对一个值进行非运算,“非运算”就是对一个布尔值进行取反操作
false变为true true变为false
提示: --如果对一个值(布尔值)进行2次非运算,它的值不改变.
--如果对非布尔值进行运算,则先将它转换为布尔值,再取反操作.利用这一特
点,可以将一个值转换为布尔类型;两次非运算.
&&(与): &&可以对符号两则的值进行与运算并返回结果.
提示: --两个值只要有一个false,则返回false
--两个值都是true的情况下,返回true
--在“js”中的“与”,只要第一个为false,则返回false.
||(或): ||可以对符号两则的值进行或运算并返回结果.
提示: --两个值主要有一个true,则返回true.
--两个值都是false的情况,则返回false.
--在JS中的“或”,只要第一个为true,则返回true.(不会再去检查第二个值)
6.JavaScript-赋值运算
=(赋值符): 可以将符号右侧的值赋值给左侧的变量
例: +=: num+2 等价于 num=num+2
-=: num-2 等价于 num=num-2
*=: num=2 等价于 num=num*2
/=: num/=2 等价于 num=num/2
%=:num%2 等价于 num=num%2
7.JavaScript-关系运算符
>:大于 >=: 大于等于
<:小于 <=: 小于等于
提示: 运算的结果为布尔值.
例: let a = 4<5;
console.log(a);
显示的结果为true;如果4大于5,则会显示false.
true:真的 false: 假的
8.JavaScript-相等运算符
==: 表示相等的意思.
!=: 表示不等的意思.
===: 全等(数据类型与值都相等)
!==: 不全等
提示: 运算的结果为布尔值.(跟上一个例子一样)
9.JavaScript-条件运算法(重点)
定义: 条件运算符也叫做三元运算符
语法: 条件表达式?语句1: 语句2;(两个语句通过冒号进行连接)
执行的流程:(1)条件运算符在执行时,首先对表达式进行求值.
(2)如果该值为true,则执行语句1,并返回执行结果.
(3)如果该值为false,则执行语句2,并返回执行结果.
10.JavaScript-运算符优先级
定义: Js中的运算符优先级就如同数学中的“先乘除后加减”.
顺序排列运算: 算术运算符为最高先乘除再加减 遇到同级运算,按从左往右算起来就
+行了,有括号的先算括号的
(1)算术操作符(+ - * / -- %)
↓
(2)比较操作符(关系运算符) (< > == <= >= !=)
↓
(3)逻辑操作符(&& || !)
↓
(4)“=”赋值符号(= += -=......)
这是我所学到的JavaScript的基础知识,想分享给你们,希望可以帮助到你们。以上就是我的分享,如有更好的方法,欢迎大家推荐!写错的地方,欢迎大家在评论区指正!谢谢