ES+DOM(获取元素/操作元素)

238 阅读4分钟

1.Javascript概述

简称:js,是运行在【js解释器】的【解释型】【弱类型】【面向对象】脚本语言

1.1 js解释器:不需要安装浏览器自带

1.2 解释型:运行之前不需要检查代码是否正确,直接可以运行,碰到错误自动停止(编译型:运行之前要检查代码是否正确,如果不正确则不能运行)

1.3 js使用方式:1-在html页面中写上一个script标签,再把js代码放在该标签汇中

    <script type="text/javascript">
	//编写自己的js代码
    </script>

2-在外部创建一个js文件并引入到html文件中(建议:js都写在html最后)

        <script src="js路径" type="text/javascript" charset="utf-8">
		不能再次编写代码了,必须将js代码放到js文件中
	</script>

1.4 js代码的输入方式:

1.在F12的控制台输出日志:console.log(数字/"字符串"/变量);

2.在页面上输出,支持标签:document.write(数字/"字符串"/变量);

3.在弹出框输出:alert(数字/"字符串"/变量)

2. 变量

概述:变量就是一个内存,语法:var 变量名=值;(变量名规定:不能以数字开头,不能用关键字)

1.想要创建一个变量只需要:var 变量名;其实就已经创建好了 - 不赋值也没关系,至少创建了不会报错了

2.如果创建了多个变量,可以省略掉中间var,分号都要换为逗号简写,最后一个分号不变

3. 常量

概述:一旦创建就不能修改,语法:const 常量名=值;

4. 算数运算符(+ - * / %)

m%n 取余,俗称模 作用:

1、*判断奇偶性
	num%2 == 1 奇数
	num%2 == 0 偶数

2、获取一个数字的后n位
        1234%10   -> 4
        1234%100  -> 34
        1234%1000 -> 234

注意:算数运算符具有隐式转换,默认都会转为数字运算(特殊:+运算如果碰到一遍是字符串,则两边均会转为字符串进行拼接操作,* - /只有碰到纯数字字符串才会进行算数运算,否则均为NaN)

5. 数据类型的转换

对于不同数据类型的运算时,数据类型会自动进行转换

number+number=number

number+string=string

5.1 隐式转换

程序自动执行,程序员无法观察的转换

特殊:1、+运算,碰上一个字符串,两边都会悄悄的转为字符串,变为拼接操作

2、- * / % 要是纯数字的字符串也可以转为数字,但是包含了非数字字符则为NaN

3、xx转为数字的话,会转为什么结果

true->1

false->0

undefined->NaN

null->0

"100"->100

"100px"->NaN

5.2 强制转换

转数字:

1、*语法:parseInt(str/num)

执行原理:从左向右依次读取每个字符,碰到非数字字符则停止,并且不认识小数点,如果一来就不认识则为NaN

    console.log(parseInt(35.45));//35
    console.log(parseInt("35.45"));//35
    console.log(parseInt("3hello5"));//3
    console.log(parseInt("35px"));//35
    console.log(parseInt("hello35"));//NaN
    console.log(parseInt(true));//NaN

2、*语法:parseFloat(str);

执行原理:几乎和parseInt一直,但是认识第一个小数点

    console.log(parseFloat("35.45"));//35.45
    console.log(parseFloat("35.45.45"));//35.45
    console.log(parseFloat("35.4abc5.45"));//35.4
    console.log(parseFloat("35.45px"));//35.45

以上两个API作用:强制转为数字的同时并且去掉单位

6. 函数

6.1 什么是函数

函数(Function)是一段被【预定义好的】,可以【反复使用】的代码

是个独立的功能体,可以将【若干】的代码放在里面

6.2 语法

1、创建函数/方法
        function 函数名(){
                //若干代码段
        }
	
2、调用函数/方法
        函数名();//程序员写几次就调用几次

        小技巧:绑定在页面元素之上,用户来触发了
        <elem onclick="js语法"></elem>

6.3 带参数的函数

创建带参数的函数:
    function 函数名(形参,...){//形参(形式参数)其实就是一个变量,只不过不需要var
	函数体;
}

调用带参数的函数的时候:
	函数名(实参);//实际参数

强调:

1、传入实参的顺序一定要和形参的顺序对应上

2、函数不一定非要有参数

7. 分支

程序的三种结构:

1、顺序结构:默认结构,从上向下依次执行每一句代码

2、分支结构:根据判断条件,选择一部分代码去执行(只会走一条路)

3、循环结构:根据判断条件,选择是否重复执行某一段代码

7.1 比较关系运算符(> < >= <= == !=)

注意:以上六个运算符结果都为布尔值:true、false

比较运算符出现在分支、循环的判断条件之中

关系运算符也具有隐式转换

7.2 if结构

    1、一个条件一件事,满足就做,不满足就不做
	if(判断条件){
		操作
	}

2、一个条件两件事,满足就做第一件,不满足就做第二件
	if(判断条件){
		操作1
	}else{
		默认操作
	}

3、多个条件多件事,满足谁就做谁
	if(条件1){
		操作1
	}else if(条件2){
		操作2
	}else if(条件3){
		操作3
	}else{
		默认操作
	}

	强调:
	  1、最后的else是可以省略的,但如果条件都不满足,则分支白写
	  2、条件有时候写的顺序需要注意,因为分支只会走一条路