| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> js阶段总结 -> 正文阅读 |
|
[JavaScript知识库]js阶段总结 |
什么是jsJavaScript是目前web开发中不可缺少的脚本语言,js不需要编译即可运行,运行在客户端,需要通过浏览器来解析执行JavaScript代码,是一种弱类型语言。 js组成部分: (1)核心:这一部分主要是js的基本语法。 (2)BOM:(浏览器对象模型),主要是获取浏览器信息或操作浏览器的,例如:浏览器的前进与后退、浏览器弹出提示框、浏览器地址栏输入网址跳转等操作等。 (3)DOM:(文档对象模型),此处的文档暂且理解为html,html加载到浏览器的内存中,可以使用js的DOM技术对内存中的html节点进行修改,用户从浏览器看到的是js动态修改后的页面。(增删改查) 一 同步和异步同步:按照顺序执行,会阻塞 异步:不一定按照顺序,不会阻塞 注意:同步和异步同时出现,先执行同步 ? ? ? ? ?//异步 ? ? ? ?// setTimeout(function () { ? ? ? ?// ? ? console.log(1); ? ? ? ?// }, 100) ? ? ? ? ?// setTimeout(function () { ? ? ? ?// ? ? console.log(2); ? ? ? ?// }, 50) ? ? ? ? ? ?// setTimeout(function () { ? ? ? ?// ? ? console.log(1); ? ? ? ?// }, 0) ? ? ? ? ?// console.log('2'); ? ? ? ? ? ?function getData(fn) { ? ? ? ? ? ?let a; ? ? ? ? ? ?setTimeout(function () { ? ? ? ? ? ? ? ?a = 10 ? ? ?//服务器给的一份数据 10 ? ? ? ? ? ? ? ?fn(a) ? ? ? ? ? },1000) ? ? ? ? ? ?// return a; ? ? ? } ? ? ? ? ?// var num = getData() ? ? ? ?// console.log(num);//?? undefined ? ? ? ?//10??? ? ? ? ? ?getData(function(num){ ? ? ?//回调函数 ? ? ? ? ? ?console.log(num); ? ? ? }) ? ? ? ? ?//解决异步传参问题 :回调函数 ?二 数组方法1.concat 合并数组 2.push 数组末尾添加元素 3.splice 删除、添加、替换 4.slice 截取数组 5.pop 删除数组末尾元素 6.shift 删除数组头部元素 7.unshift 头部添加元素 8.indexOf 获取元素在数组中的索引 10.sort 排序 三 数组的迭代方法some????????若数组中的有一个元素满足条件,则返回true,若都不满足,则返回false ?var datas = [ ? ? ? ? var ps=datas.filter(function (item) {
四 正则表达式表单校验和字符串处理 定义正则: new RegExp() /规则/修饰符 修饰符: g、i、m i 忽略大小写 g 全局匹配 | 或 元字符 [] ? ? 任意一个 ? ? 范围: [0-9] [a-z] [A-Z] [0-9a-zA-Z] ^ ? [^] ? 取反 ^ ? ? 开头 $ ? 结尾 \ ? 转义字符 ? ? \d ? ? ? 数字 ? ? [0-9] \w ? ? ? 单词 ? ? [0-9a-zA-Z_] \s ? ? ? 空格、换行、制表符 \D ? ? ? 非数字 \W \S ?量词? ? ? ? ? ? ? ? 零或一个{0,1} + 至少一个 {1,} * ? ? ? ? ? ? ? 零或多个 {0,} {m} ? ? ? ? ? ? 出现m次 {m,n} ? ? ? ? ? 大于等于m,小于等于n {m,} ? ? ? ? ? 大于等于m ?正则对象的方法
事件委托 :又可以称为事件代理
? ? ? ?box.οnclick=function(e){ ? ? ? ? ? ?// console.log(e.target.nodeName); ? ? ? ? ? ?if(e.target.nodeName=='BUTTON'){// 判断点击的是什么 ? ? ? e.target //返回目标节点元素节点 ? ? ? ? ? ? ? ?alert("哈哈哈哈,终于知道") ? ? ? ? ? } ? ? ? ? ? ?// alert("我是一个按钮") ? ? ? } ? ? ? ? ?document.querySelector('button').onclick = function () { ? ? ? ? ? ?// box.innerHTML =box.innerHTML+ "<button>按钮</button>"; ? ? ? ? ? ?var btn = document.createElement('button') ? ? ? ? ? ?btn.innerHTML = '按钮' ? ? ? ?box.appendChild(btn) ? ? } ?拖拽效果?var o = document.querySelector('div'); ? ? ? ? ?//鼠标按下 ? ? ? ?o.onmousedown = function (e) { ? ? ? ? ? ?if (o.setCapture) { ? //IE低版本 ? ? ? ? ? ? ? ?o.setCapture() ? ? ? ? ? } ? ? ? ? ? ?e = e || window.event ? ? ? ? ? ?//鼠标相对于盒子的位置 ? ? ? ? ? ?var offsetX = e.clientX - o.offsetLeft; ? ? ? ? ? ?var offsetY = e.clientY - o.offsetTop; ? ? ? ? ? ?//鼠标移动 ? ? ? ? ? ?document.onmousemove = function (e) { ? ? ? ? ? ? ? ?e = e || window.event ? ? ? ? ? ? ? ?o.style.left = e.clientX - offsetX + "px"; ? ? ? ? ? ? ? ?o.style.top = e.clientY - offsetY + "px"; ? ? ? ? ? } ? ? ? ? ? ?//鼠标抬起 ? ? ? ? ? ?document.onmouseup = function () { ? ? ? ? ? ? ? ?document.onmousemove = null; ? ? ? ? ? ? ? ?document.onmouseup = null; ? ? ? ? ? ? ? ?if (o.releaseCapture) { ? ? ? ? ? ? ? ? ? ?o.releaseCapture();//释放全局捕获 ? ? ? ? ? ? ? ? } ? ? ? ? ? } ? ? ? ? ? ?return false;//标准浏览器的默认行为 ? ? ? } 闭包闭包:有权在一个函数内访问另一个函数作用域中的变量(返回该函数) 闭包是连通函数内外的一个桥梁,可以实现局部变量常驻内存。 闭包常见面试题: ? ? ? ?var arr = []; ? ? ? ? ?for (var i = 0; i < 3; i++) { ? ? ? ? ? (function (i) { ? ? ? ? ? ? ? ?arr.push(function () { ? ? ? ? ? ? ? ? ? ?console.log(i); ? ? ? ? ? ? ? }) ? ? ? ? ? })(i) ? ? ? } ? ? ? ? ?// console.log(arr); ? ? ? ?arr[0]() ? ? ? ?arr[1]() ? ? ? ?arr[2]() var lis = document.querySelectorAll("ul li") ? ? ? ? ? ? ? ?for (var i = 0; i < lis.length; i++) { ? ? ? ? ? (function (a) { ? ? ? ? ? ? ? ?lis[a].onclick = function () { ? ? ? ? ? ? ? ? ? ?console.log(a); ? ? ? ? ? ? ? } ? ? ? ? ? })(i); ? ? ? ? ? ? |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 23:08:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |