前端第五天

js基础

选择器的优先级

权重值越大优先级越高。(无论权重是多少,内联样式表的优先级都是最高的)
元素选择器、*权重值:1
类选择器权重值:2
id选择器权重值:4
群组选择器:看每个独立的选择器的权重值分别是多少
后代、子代选择器:所有被>或者空格隔开的选择器的权重之和
后代选择器比较权重的时候:先比较第一大独立选择器,如果第一大相同,就比第二大的选择器,依次类推。

一、认识js

1.什么是js

js是JavaScript的缩写,是一门专门用来控制前端页面的编程语言(属于脚本语言)
js是web标准中的行为标准 - 主要负责网页中内容的修改

2.js代码写在哪儿
  • 内联js - 将js代码写在标签的事件属性中
  • 内部js - 将js代码写在script标签中
  • 外部js - 将js代码写在js文件中,然后在html用script标签导入

注意:同一个script标签只能在导入外部js和写内部js两个功能中选一个。

3.js能干什么
  • 修改标签内容
  • 修改/获取标签的属性
  • 修改标签的样式
  • 在网页中插入html代码
4.js代码怎么写(语法)
  • js大小写敏感
  • 一行语句结束一般不需要分号,箭头函数之前要加分号
  • 命名采用驼峰式命名
  • js中的标识符:由字母、数字、下划线和$组成,数字不能开头

二、变量

1.定义变量

语法:

  • 变量名 = 值
  • var 变量名 = 值
  • let 变量名 = 值
  • const 变量名 = 值
2.四种方法的区别
  • 前三种方式定义的变量,变量的值可以修改;用const定义的变量的值不能修改
  • 变量名 = 值 - 这儿的变量是全局变量(不管在哪儿定义都是全局变量)
  • var 变量名 = 值 - 在函数中定义是局部变量,没有定义在函数中是全局的
  • let 变量名 = 值 - 在{}定义的是局部变量,没有定义在{}中的全局的
3.同时定义多个变量
  • 变量名1=变量名2=变量名3=…=值
  • var/let/const 变量1,变量2,变量3,…

三、运算符

1.数学运算符:+、-、*、/、%、++、–

++ - 自增1
– - 自减1

2.比较运算符===,>,!==,<,>=,<=, ==,!=

结果都是布尔值

console.log(10>20)  // false
	console.log(5 == '5') // true
	console.log(5 === '5')  // false
	console.log(5 === 5) // true

注意:js中的比较运算符,不支持连写表示范围

3.逻辑运算符
  • && - 逻辑与运算
  • || - 逻辑或运算
  • ! - 逻辑非运算
4.赋值运算符

=、+=、-=、/=、%=

5.三目运算符:?:

表达式?值1:值2 - 判断表达式的结果是否为true,如果是,整个运算表达式的结果是值1,否则是值2

不同运算符的优先级和python一样。

四、分支和运算结构

1.if分支结构
  • 单分支
if(条件语句){
	代码块
	}
  • 双分支
if(条件语句){
		满足条件要执行的代码块
	}else{
		条件不满足执行的代码块
	}
  • 多分支
if(条件语句1){
		代码块1
	}else if(条件语句2){
		代码块2
	}else if(条件语句3){
		代码块3
	}
	...
	else{
		代码块N
	}

执行过程和应用和python一样

2.switch

语法;

switch(表达式){
	   case 值1:{
		   代码块1
	   }
	   case 值2:{
		    代码块2
	   }
	   case 值3:{
	   		代码块3
	   }
	   ...
	   defualt:{
		   代码块N
	   }
	}

说明:

  • switch、case和defualt是关键字
  • case语句后面的{}可以省略
  • 表达式可以是任何有结果的表达式
  • 值也必须是有结果的表达式,通常会直接写一个固定的数据

执行过程:先计算表达式的值,然后表达式的值依次和每个case后面的值进行比较,那个case后面的值和表达式的值相等,就将这个case作入口,依次执行和这个case以及它后面所有的代码块,直接执行完或者遇到break就结束。如果没有case后面的值和表达式的值相等,就将defualt作为入口。(注意:defualt不一定要放在最后)

3.while循环
  • while
while(条件语句){
		循环体
	}
  • do-while(保证循环至少执行一次)
do{
		循环体
	}while(条件语句)
4.for循环
  • for-in
for(变量 in 序列){
	   循环体
   } 

注意:变量取得不是元素而是下标或者属性。

  • 标准for
for(表达式1;表达式2;表达式3){
	   循环体
   }

执行过程:先执行表达式1,然后判断表达式2的结果是否为true,如果为true执行循环体,执行完循环体再执行表达式3;再判断表达式2是否为true,为true执行循环体,执行完再执行表达式3;依次类推,如果判断表达式2的结果为false,整个循环结束。

5.continue和break

和python中的用法一样。

五、函数

1.函数的定义
function 函数名(参数列表){
			函数体
		}

有默认值的参数可以放在没有默认值参数的前面

2.函数的调用

函数名(实参列表)
注意:js中使用关键字参数传参无效,只能使用位置参数。
调用函数的时候如果不给没有默认值的参数传参,不会报错,这个参数的值是undefined。

3.arguments

注意:js中每个函数中都有一个局部变量 arguments,用来接收这个函数在调用的时候传的所有实参。

4.匿名函数
 function (参数列表){
			函数体
          } 
5.箭头函数

(参数列表)=>{函数体}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值