Javascript(一)

JS相关介绍(基础语法)

是什么:是英文JavaScript的缩写,它是一个脚本语言
能干吗:主要用于网页特效(轮播图、返回顶部、小游戏等)和用户交互(表单验证)
去哪下:不用下载直接在html文件中声明script标记
组成:ECMAScript(基础语语法)、DOM(增删改等网页标签)、BOM(操作浏览器语法)

书写位置
行内:<标签名 οnclick=js“代码”></标签名>
内嵌:<script> JS代码 </script>
外嵌:<script src=“路径及文件名.js”></script>

注释
单行注释 //
多行注释 /**/

变量
作用:用来临时存储数据
语法:var 变量名 = 变量值;
变量名命名规则:可以是英文、数字、下划线、$组成,但首字母不能是数字(严格区分大小写)
变量名命名规范:小驼峰、大驼峰、下划线(多个单词的时候)

数据类型
基本类型(简单类型 只存一个值)
1、数值型(整数、小数)
2、字符串型:就是被引号包起来(纯数字、变量不用引号包 其他都要)
3、布尔型:只有两个值true和false
4、null:空数据
5、undefined:未定义
定义变量【 var 变量名; 】 只是声明,没有初始值 需要后续程序继续赋值

数据类型判断
判断数据类型:
typeof 变量名 推荐
typeof(变量名)
返回值:number、string、boolean、undefined、object、function

判断是不是一个数字
语法:isNaN(内容)
返回:是数字-false,非数字-true

数据类型转换
转换为数值型(重点)
Number(内容) 1-保留小数,2-失败NaN
parseInt(内容) 1-不保留小数,2-失败NaN
parseFloat(内容) 1-保留,2-失败NaN

转换字符串型
内容.toString()
String(内容)

转换为布尔型
Boolean(内容)

运算符
数学:+、-、*、/、%
赋值:=、+=、-=、*=、/=、%=
比较:>、<、>=、<=、==、===、!=、!==
= 赋值
== 判断值(是否相等)
=== 判断值、类型(是否全等)
逻辑:&&并且、|| 或者、!取反
一元(自增自减):++、-- (++/–在前:先运算、再赋值,++/–在后:先赋值,再运算)

输出语句
1、弹出警告框:alert(内容)
2、弹出确认框:confirm(内容)
3、弹出输入框:prompt(内容)
4、在网页中输出:document.write(内容)
5、在控制台输出:console.log/error/warn(内容)

流程控制(是一个概念)
概念:代码不是说一定从上到下执行,也有情况不执行或者重复情况
顺序结构
分支结构(判断)
循环结构(循环)

分支结构

if条件
单选-单分支,语法:if (条件) {}
双选-双分支,语法:if (条件) {} else {}
多选-多分支,语法:if(条件1) {} else if (条件2){} … else {}

switch条件
switch (变量) {case 1: 代码1; break; … case n: 代码n; break; default: 代码;}
break不写则后面代码都会执行(case穿透) 推荐写break
当【语法变量】位置写true 这时候switch可以写范围判断

三元运算符
概念:顾名思义有三个操作 通过两个符号隔开 ? :
语法:操作1 ? 操作2 : 操作3 (操作1成立-走操作2,操作1不成立-操作3)

if、switch、三元运算符如何选择
范围判断普遍用if
固定值判断普遍用switch
if…else这种语法 可以用 三元运算符 来简化代码

循环结构

循环
概念: 重复执行同一段代码的表现

语法
步骤1:声明一个变量
步骤2:写判断 while(条件) {
// 代码 步骤3 更新变量(注:不更新会死循环)
}
死循环:就是一直执行代码,不会停,生活中就累死了,计算机崩溃

循环语法
1、for (循环变量初始化;循环变量条件判断;循环变量更新) {代码}
2、循环变量初始化 while (循环变量判断) {代码; 循环变量更新}
3、循环变量初始化 do {代码; 循环变量更新 } while (循环变量判断条件)

for、while、do…while的区别
知道循环次数用for循环,不知道用while或do…while
需要无条件先执行一次用do…while 否则 用while

函数

函数简介
是什么:就是将一段公共的代码封装起来,一次定义多次调用

能干吗(优点)
1-减少代码冗余、提高代码可读性
2-便于后期维护开发(便于后期二次开发)

语法
1.声明式:function 变量名(){ }
2.赋值式:var 变量名 = 函数名; // 切记:不加小括号则是方法,加小括号就函数执行后的结果赋值给遍历

function 函数名(形参1,...,形参n) {
return 数据; //脚下留心:return不写或者直接return; 则默认return undefined	
		}
调用:函数名(实参1,...,实参n)

函数参数
要不要参数:根据需求
形参个数和实参个数要一一对应,否则undefined 可能导致BUG
形参顺序和实参顺序必须一致,否则逻辑BUG

函数return
要不要返回值:根据需求
返回值
终止代码执行

数组

概念:一堆有序数据的集合
作用:存放多个数据
定义语法:var 变量名 = [值1,…,值n];
调用语法:变量名[编号/下标/索引]
长度:数组变量名.length

arguments
是什么:官方提供的关键词,注:只能在函数体中使用
能干吗:存放所有的实参(数组)

事件和函数
概念:就是一个动作 -> 用户和网页之间产生的交互(事件产生一般交给谁处理 -> 函数)
语法:id属性值.onclick = 直接函数名不加小括号 或 通过function来声明

预解析(script执行过程)
1、编译(检查语法、声明变量、声明函数、代码优化)
2、执行

作用域
概念:js代码的生命周期(js代码哪里可以用)
js变量种类
全局变量:网页运行时产生,网页执行完毕销毁
局部变量:函数调用时产生,函数调用结束销毁
变量优先级:局部变量 > 局部函数 > 形参 > 全局变量

作用域链
概念:就是多个作用域的集合
特性:当多个作用域彼此嵌套,形成作用域链,变量会向上查找的特性,一层一层找不加var 找到了直接修改,找不到一直最顶层

匿名函数与自执行函数
概念:就是没有名字的函数
作用:是为了避免多个人写js代码相互污染,局部作用域的特性
;(function() {})()

事件
概念:就是用户和网页产生的交互/动作
作用:轮播图、返回顶部等
语法:id属性值.事件类型 = 函数
事件的类型:鼠标事件、键盘事件、表单事件等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值