Javascript基础知识点
推荐查询 MDN官网(JavaScript)
1、是 html 与 css 的编程语言,一门脚本语言,解释型语言,直接被浏览器解释执行(不用被编译,运行是直接解释执行,从上到下,一行行执行)
2、与 Java 是完全不同的编程语言,与它毫无关系。
3、JS作用:
1.可以进行各种交互,点击,移入,移出,拖动等
2.和后台数据进行交互,如登陆
3.修改样式,通过JS修改样式
4.可以操作dom(添加,修改,删除)操作网页中的元素
4、JS组成:
1.EcmaScript(Ecma 262标准):基本语法和基本对象(变量,数据类型,选择结构,循环结构,函数,数组,字符串)
2.DOM(文档对象模型):提供操作网页的方法和接口。BOM(浏览器对象模型):提供操作网页的方法和接口
5、js的引入方式
1.script标签
<script type="text/javascript">
</script>
2.script引入js文件
<script src=""/>
3.在以on开头的事件中,使用js
4.在a标签中的href属性中使用js
6、js输入输出
输出:
弹出框:alert("内容")
控制台输出:console.log("输出内容")
网页输出:document.write("输出内容")
注:document.write可以解析html标签
输入:
输入框:
let 变量名 = prompt("提示信息")
注释:
//单行注释
/**/多行注释
7、变量
1.变量:可以变化的量,变量本质是容器;
在内存中开辟的一个空间,用于存储数据
定义一个变量:
var 变量名;//es5 : ECMAScript 5
let 变量名;//es6 : ECMAScript 6
let age = 18; //= : 赋值符号,将右边值放到左边变量中
//在内存中开辟一个空间(age),18放到这个中
2.变量命名规范
①.变量命名必须以字母、下划线或者$为开头
②.变量名中不允许使用空格和其他标点符号,首个字不能为数字
③.不能出现中文
④.遵循一个规范(根据项目来选择)
匈牙利法,小驼峰法,大驼峰(帕斯卡)法
8、数据类型
js:弱类型语言,根据赋值决定的数据类型
数值: number
非数值:字符串,boolean(布尔):true / false
number:数值,特点:直接写,不用加符号
string:字符串,特点:需要加引号(单引号,双引号都行)
boolean:布尔值; true/false
null:空, typeof的值是object
undefined:未定义,表示:声明了但是没有赋值
查看变量的数据类型:
typeof变量名;
数据类型分两大类:
原始类型(基本类型):number , string , boolean , null , undefined
引用类型:object对象,array数组,function函数
9、运算符
算数运算符+ - * / %
%: 取模,求余数
5%2:5取2的默(5/2的余数)
注意:+ 两层意义
① + 两边都是数值,则进行加法运算
② +好两边有一个是字符串,则进行连接
- 减号两边的数据;类型不同时,将进行类型的隐式转换number;
true -> 1
false ->0
null ->0
undefined->NaN , not a number
(同理:*,/ , %都可以隐式转换)
比较运算术(结果为boolean) result
> , >, <=, >= ,== ,!= ,===,!==
注:字符串也可以比较大小,根据ASCLL码(a=97,b=98)
== 只判断值是否相等
=== 判断 值 和 数据类型 是否相等
逻辑运算符(并且,或者,非)
并且 && :有一个为假,即为假;所有为真,即为真
或者 || :有一个为真,即为真,所有为假,即为假
非 ! 取反 !true = false !false = true;
!undefined = true
一元运算符 ++ , --
!++; i=i+1
!--; i=i-1
单个语句执行都是+1;多个语句时++在前,返回的是加之后的值,++在后,返回的是加之前的值
-- 同理
二元运算符(有两个操作数)
三元运算符(有三个操作数)
(条件表达式)? 条件为真,执行;条件为假,执行
注:三元运算符只试用与简单的络合剂,不适用于复杂的逻辑,如果条件成立还想执行其他的东西就会报错
赋值运算符
=:将赋值运算符的有边,赋值给左边
+=
-=
/=
*=
a+=b;相当于 a=a+b
a/=3;相当于 a=a/3
优先级:算数运算符>赋值运算符
赋值运算符优先级最低
10、数据类型的转换
转数字:
1.prseInt():转换成整数,原理:从左到右一位一位的转,有一个不和条件,就不转了
2.parseFloat():转成浮点数(小数点,只支持一个小数点)
3.Number():整体进行转换,不能转换数值,就返回NaN
true - 1
false - 0
null - 0
undefined - NaN
注:NaN还是number类型
NaN和任意值比较都为false
转字符串:
string(要转换的值)
转成boolean类型
Boolean(要转换的值)
非0数字 - true 空字符串 -- false
null, undefined ->false
11、字符串转义符
\n : 换行
\t : 水平制表 tab键(4个)
\r :回车
\\ :斜杠
\':单引号
\":双引号
注:单引号不能嵌套单引号,双引号不能嵌套双引号
12、隐式转换
1.在算数运算符中
+法运算中,如果一方是字符串,则进行拼接,如果,没有字符串,则将其他转number,再进行计算
-,/,*:会运算符前后都会转成number,再进行计算
2.在比较运算符中
情况1:如果有一个操作数是布尔值,将其转成number;true -1,false -0
5>true
情况2:如果一个操作数是字符串,另一个操作数是数值,将字符串转成数值
5>"true"