![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
xicc1112
这个作者不懒,她想留下点什么…
展开
-
简单认识JS中的事件流
事件流 事件流描述的是从页面中接收事件的顺序。 【IE的事件流是事件冒泡流,Netscape的事件流是事件捕获流】 <!DOCTYPE html> <html> <head> <title>Event Bubbling Example</title> </head> <body> <div id="myDiv">Click Me</div> </body> </htm原创 2020-09-26 10:21:39 · 195 阅读 · 0 评论 -
关于JS中的Number类型
Number类型 十进制 八进制【第一位必须是零(0),然后是八进制数字序列(0 - 7)】 var num = 070; //有效的八进制 console.log(num); //56:八进制070输出的十进制为56 十六进制【前两位必须是(0x),然后是十六进制数字(0 - 9及A - F(大小写均可))】 var num = 0xa; //有效的十六进制 console.log(num); //10:十六进制0xa输出的十进制原创 2020-09-23 12:22:36 · 994 阅读 · 0 评论 -
关于JS中的延迟加载
(Why)为什么要延迟加载? <!DOCTYPE html> <html> <head> <title>Example HTML Page</title> <script type="text/javascript" src="example1.js"></script> <script type="text/javascript" src="example2.js"></scr原创 2020-09-22 16:34:00 · 405 阅读 · 0 评论 -
Ajax的学习笔记2——跨域问题
Ajax请求限制 Ajax只能向自己的服务器发送请求,这是因为浏览器的同源策略限制。 同源 什么是同源 如果两个 URL 的 protocol、port (如果有指定的话)和 host 都相同的话,则这两个 URL是同源。这个方案也被称为“协议/主机/端口元组”,或者直接是 “元组”。 图文来源:https://developer.mozilla.org/zh-CN/docs/Web/Security/Same-origin_policy 同源的目的 同源政策是为了保护用户信息的安全,防止恶意的网站窃原创 2020-05-13 18:57:44 · 350 阅读 · 0 评论 -
Ajax的学习笔记1
(What)什么是Ajax AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 指的是通过JavaScript 的异步通信,从服务器获取 XML 文档从中提取数据,再更新当前网页的对应部分,而不用刷新整个网页。 简单理解: 不刷新页面的情况下,向服务端发送请求,和服务端进行交互,从而更改页面中的数据或者状态。 允许浏览器与服务器通信而无需刷新页面的技术称作Ajax。 (Why)为什么要用Ajax 提高用户浏览网站的体验 Aj原创 2020-05-09 16:02:37 · 300 阅读 · 0 评论 -
再学——图解原型链
原型链 初始知识点 prototype与constructor 构造函数与它的原型对象有相互引用的关系 什么是相互引用? 构造函数中有属性prototype可以找到原型对象,原型对象中有属性constructor可以找到构造函数。 prototype与__proto__ 对象的隐式原型的值为其构造函数的显式原型的值 函数的prototype属性:在定义函数时自动添加的,默认值是一个空Obj...原创 2020-04-30 16:34:02 · 249 阅读 · 0 评论 -
进程机制与事件机制
进程与线程 进程 程序的一次执行,它占有一片独有的内存空间。可以通过windows任务管理器查看进程。 一个进程中至少有一个运行的线程(主线程):进程启动后自动创建 一个进程中可以同时运行多个线程,我们会说程序是多线程运行的 一个进程内的数据可以供其中的多个线程直接共享,多个进程之间的数据时不能直接共享的 多进程:一个应用程序可以同时启动多个实例运行 线程 线程是进程内的一个独立执行单元,...原创 2020-04-12 17:02:06 · 649 阅读 · 0 评论 -
面向对象:对象创建与继承
对象创建模式 Object构造函数模式 先创建Object对象,再动态添加属性/方法 适用场景:起始时不确定对象内部数据 问题:语句太多 var p = new Object(); p.name = 'kk'; p.age = 20; p.setName = function(name) { this.na...原创 2020-04-11 15:43:31 · 301 阅读 · 0 评论 -
执行上下文(栈)、作用域(链)
执行上下文与执行上下文栈 执行上下文 首先按照代码的位置分类可以分成两种:全局代码以及函数(局部)代码。 全局执行上下文 在执行全局代码前将window确定为全局执行上下文 对全局数据进行预处理 var定义的全局变量:undefined,添加为window的属性 function声明的全局函数:赋值(fun),添加为window的方法 this:赋值(window) 开始执行全局代码 函...原创 2020-04-10 16:57:43 · 273 阅读 · 0 评论 -
简单认识JavaScript中的闭包
(What)什么是闭包? 理解一:闭包是嵌套的内部函数 理解二:闭包是包含被引用变量(函数)的对象(存在与嵌套的内部函数中) function fn1() { var a = 2; function fn2() { console.log(a); } return fn2 } fn1...原创 2020-04-09 12:15:18 · 839 阅读 · 2 评论 -
简单认识JavaScript中的原型与原型链
一些预备知识 每个函数都有一个prototype属性(显式原型),在定义函数时自动添加,它默认指向一个Object空对象(原型对象)。 每个实例对象都有一个__proto__(隐式原型),创建对象时自动添加。 原型对象中有一个属性constructor,它指向函数对象 函数的所有实例对象自动拥有原型中的属性(方法) 对象的隐式原型的值为其对应构造函数的显式原型的值 一道简单的例题 fu...原创 2020-04-07 20:02:43 · 365 阅读 · 0 评论 -
Promise的学习笔记4——自定义Promise
1. 整体结构 /** * 自定义promise函数模块:IIFE */ (function (window) { /** * Promise构造函数——excutor:执行器函数(同步) */ function Promise(excutor) { } /** * Promise原型对象的then()方法 */ ...原创 2020-03-04 12:56:12 · 326 阅读 · 0 评论 -
Promise的学习笔记3——async与await、宏队列与微队列
async与await async函数的返回值为promise对象 await右侧的表达式一般为promise对象,但也可以是其它的值 注意:await必须写在async函数中,但async函数中可以没有await function test1() { return new Promise((resolve, reject) => { ...原创 2020-03-03 19:08:11 · 535 阅读 · 0 评论 -
Promise的学习笔记2
1. 抛出异常也可改变Promise的状态 除了resolve(value)和reject(reason)可以改变promise的状态以外,通过抛出异常也可以将promise状态由pending变为rejected。 const p = new Promise((resolve, reject) => { throw 0 // throw new Er...原创 2020-03-02 11:25:40 · 274 阅读 · 0 评论 -
Promise的学习笔记1
(What)什么是Promise? Promise是异步编程的新的解决方案,比起旧的解决方案(回调)更合理更强大。 从语法上来说:Promise是一个构造函数 从功能上来说:Promise对象用来封装一个异步操作并可以获取其结果 Promise的状态改变 调用resolve函数来将promise当前状态pending(进行中)改成fulfilled(已成功) 调用reject函数...原创 2020-02-29 18:49:13 · 456 阅读 · 0 评论 -
ES6箭头函数常见问题
箭头函数:(参数)=>{函数体} 下面来看一道题目 let test = { name: 'kk', say: function () { console.log(this.name, this); } } test.say() //kk {...原创 2020-02-28 15:14:54 · 490 阅读 · 1 评论 -
数组遍历的方法以及优势和缺点
for循环 const arr = [1, 2, 3, 4, 5, 6] for (let i = 0; i < arr.length; i++) { console.log(arr[i]) } forEach const arr = [1, 2, 3, 4, 5,6] arr.forE...原创 2020-02-27 16:41:07 · 1427 阅读 · 0 评论 -
var、let、const的区别
var、let、const的区别 1.var可以重复定义,let和const不可以 var a = 1;var a = 2;console.log(a) //2 let a = 1;let a = 2;console.log(a) const a = 1;const a = 2;console.log(a) //Iden...原创 2020-02-27 11:33:14 · 607 阅读 · 0 评论