js

js
小楼夜听雨js基础
js是用于游览器实现人机交互的编程语言
作用:
- 网页特效(监听用户的行为,让网页做出反馈)
- 表单验证(针对表单中的数据合法性进行判断)
- 数据交互(获取后台数据,渲染到前端)
- 服务端编程(node.js)
组成:
- 语法(变量,语句,对象等)
- Wed APls(DOM 和BOM)
使用方式:
内部:在body内,在HTML下面使用script标签直接写
外部:在外部写js文件,在body内使用script src=“地址”引入
1 | <body> |
输入输出语法
输出:
document.write(‘要输出的内容’)
内容可以是标签
alert(‘要输出的内容’)
页面弹出警告对话框
console.log(‘控制台输出’)
调试使用
输入:
- prompt(‘请输入你的年龄’)
弹出对话框
变量
声明和赋值
let 变量名 = ?
1 | let age =18; |
使用
1 | let age =prompt('请输入你的年龄') |
数组
定义:
let 数组名 = [数据1,.......]
长度:
数组名.length
增:
数组名.push(元素1,元素2)将一个或者多个元素添加到数组末尾,并返回新长度
数组名.unshift(元素1,元素2)将一个或者多个元素添加到数组开头,并返回新长度
删:
数组名.pop()删除最后一个元素并返回该元素的值
数组名.shift()删除第一个元素并返回该元素的值
数组名.splice(起始位置,删除几个元素)删除最后一个元素并返回该元素的值
常量
定义:
const 常量名 = ?
注意:常量不允许重新赋值,声明的时候必须初始化
数据类型和字符串
js是弱数据类型,变量只有赋值后才知道数据类型
注意:
输出的时候时候,如果是变量加‘ ’或者``或者“ ”就会变成字符串
“ “和’ ‘可以嵌套所以,不能同种嵌套(或者使用转移符,\后面的字符不编译)
1 | console.log('我是"大帅"哥'); |
字符串或者变量相连
使用+可以使内容相连输出
1 | console.log('我是' +'大帅哥'); |
模版字符串
使用${变量}代替+号
1 | let a=10 |
注意:使用模板字符串必须使用``(单引号)
布尔,未定义和空类型
- 变量初始化的时候,值为true 或者 false 就是布尔类型
- 声明之后没有初始化的变量叫未定义类型(不可计算)
- 变量初始化的时候,值为null 就是空类型(可以作为还没创建的对象,可计算=0)
类型转换
隐式转换:
使用+号时,左右有一个字符串,则另一个默认转化为字符串
除了+号以外,其他的运算符但是转化为数字型
+号加字符串会转化成数字型
1 | let a=10 |
显性转化:
Number(数据):数字型
(NaN也是数字类型,代表非数字)
parselnt(数据):只保留整数
parseFloat(数据):可以保留小数
1 | parselnt('12px') //12 |
运算符
- === :判断两边类型和值是否相等
- !==:判断两边类型和值不相等
注意:
NaN不等于任何人,包括它自己
字符串比较使用对应的ASCII表,对位一一对比
选择结构
if(条件){执行代码}else if{执行代码} else{执行代码}
所有空字符串(’ ‘)都为真
三元运算符(条件?满足执行:不满足执行)
switch(条件){case 值1 : 代码 break case 值2 : 代码 break default :代码 }
循环结构
断点调试:
while(条件){代码}
for(起始值;终止条件;变量变化量){代码}
break:结束循环
continue:结束本次循环,进入下一次循环
函数
声明:
function 函数名 (){函数体}
返回值:
return 数据
匿名函数:
函数表达式:将匿名函数赋值给一个变量,通过变量名使用
1
let a1 = function (){}
立即执行函数:防止相同变量名污染,后面的括号是调用函数,是实参
1
2( function(x){} )(1);
( (function(x){} )(1) )注意:
- 两种写法,多个中间要分号隔开
- 可以加函数名,但是因为立即执行不能调用







