自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 BOM

############################### 浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器"对话"。 例如: 1.调整浏览器大小的window对象 2.可以用于导航的location对象与history对象 3.获取浏览器,操作系统与用户屏幕信息的navigator与screen对象 4.用document作为访问HTML文档的入口等 ...

2020-07-17 23:00:19 133

原创 闭包

变量作用域 变量的作用域无非就是两种:全局变量和局部变量; 函数内部可以直接读取全局变量; 函数外部无法读取函数内的局部变量; 函数内部声明变量的时候,一定要使用var命令。如果不用的话,你实际上声明了一个全局变量!(严格模式下会报错!) 如何从外部读取局部变量? 正常情况下是做不到的,需要变通! 那就是在函数的内部,再定义一个函数。 function f1(){ var n=999; function f2(){       alert(n); // 999     } } 如何从外部读取局部变量? 既然

2020-07-17 08:54:33 137

原创 正则表达式

正则表达式 修饰符 g: 全局匹配 可以匹配到 0-多个结果 i: 匹配大小写 m 多行匹配 元字符 正则表达式有两种基本字符 元字符 原义文本字符 原义概念:表示代表本来文本的字符; 元字符:再正则表达式中有特殊意义的字符 .* + ? $ ^ | \ () {} [] \n \d \w \r\ Q \f \b \cX… [] 或 字符类;将一堆字符放在一个字符类中,匹配结果为一个字符。字符长度有量词决定 {} 量词 作用;决定匹配字符的长度。每个正则字符值匹配一个字符;量词决定结果字符长度0-n

2020-07-16 23:25:17 176

原创 函数调用方式

// 1 xx.xxx() xxx() // 2 new xxx() // 3: xxx.call() xxx.apply() xxx.bind()() // 4: 事件触发 // function foo(){ // console.log(‘aaa’) // }; // // window.foo(); // var obj = { // foo:foo // }; // // obj.foo(); // // new foo(); // foo.call(window); // fo

2020-07-10 00:00:31 140

原创 如何判断this 指向

1: 先看 this 在哪个做作用域中? 全局—> this = window function 函数体中。 2:看函数执行。 2.0: 判断哪一个函数被执行?再看方法体中 this 指向谁? 2.1 看是否有call apply bind ,有—> 参一是谁 this 就指向谁 2.2 看是否是事件处理函数; 是----> 触发事件元素 2.3 调用函数是否是new 是构造函数,this 指向new 实例的对象 2.4 以上都不满足。谁调用指向谁。 */ var name = “周超”

2020-07-09 23:58:20 380

原创 标记清除

function foo() { var a = 0; return function () { console.log(++a); }; } // 因为 res 引用的 return 返回的函数 // 在res执行时候;需要 引用foo 的 AO 对象下的 a 属性。 // 所以 foo 中的AO 对象不会被【回收】 var res = foo(); res(); res(); // 当闭包完成任务后, // 找到完成任务的条件;然后清空res 那么;foo的AO对象就不会再被引用; // 所以实现了【清

2020-07-09 23:55:27 752

原创 垃圾回收机制

// 引用 // 分类:显示引用和隐士引用 // 显示引用:一个对象访问另一个对象下属性。 //----->一个对象引用另一个对象 // 隐士引用:一个对象,通过原型对象访问的属性 // 对象指的是:GO AO 函数对象 普通独享 // 引用计数垃圾收集 // —> 关键看,一个对象是否被其他变量所引用(使用) // 零引用的对象;被垃圾回收机制所回收 var o = { a: { b: 2, }, }; // 两个对象,一个key 为a 一个key 为

2020-07-09 23:54:31 165

原创 js的内存分配

var n = 123; // 栈 给n变量分配空间;用来存 123 var str = “123”; // 栈 给 str变量 分配空间 用来存字符串 ‘123’ // 栈 给 o 变量分配空间。存指针, // 堆来存对象数据 // 栈给对象下属性 name 分配空间 用来存字符串 ‘周超’ var o = { name: “周超”, }; // 给数据及其 元素分配空间 // 栈 arr 存指针;栈 存元素;堆创建空间存数组;提供指针 var arr = [1,2,3] // 栈 foo 存指针;堆存函

2020-07-09 23:52:45 259

原创 继承

// console.log(null.proto) // Cannot read property ‘proto’ of null console.log(Object.prototype.proto); // null // 原型对象的作用:继承, // 1:面向对象开发(抽象) // 继承例子 var perso = function (name) { this.name = name; }; // 函数原型对象下 api 原则上;必须指向 【构造对象】 perso.prototype.getNam

2020-07-09 23:50:13 128

原创 如何把字符串变为对象

var str = “djflejwqrowejro”; // 如何把让obj 中key 为str 中不重复字符串,并统计了每个字符串出现的次数 var obj = {}; var flag = false; // 验证结果 true 存在 false 不存在 for (var i = 0; i < str.length; i++) { // 验证 obj 是否存在 str[i] for (var x in obj) { // 验证方式:用str 中每一个字符 与 obj中的key 进行比较 if

2020-07-09 23:48:28 856

原创 逻辑运算符

// 逻辑运算符表达式;返回值一定是 boolean类型 // 逻辑运算符 涉及到比较大小,什么类型数据能够直接比较大小? (数字) // var res = ''== [] // true // res = '' == '' ---> [] -->'' // res = 0 == 0 ----> ''-->0 // res = true // var res = ''===[] // 大小相等 类型不等 false

2020-07-09 23:43:01 150

原创 数据隐式转化总结

1:在js底层 ,什么数据可以进行运算? 2:为什么会有隐士转化 只有基本类型的数据才能进行运算 所有引用类型的数据,需要运算时候;先需要转化为基本类型数据;再运算 所有引用类型数据只能转为字符串。最后再有字符串转为其他类型; 因为浏览器默认数就是字符串;所以只能转字符串 alert([1.,2,4]) // 1,2,4 alert({ name:"yanqi", age:12 ) // [object Object] 再默认隐士转化中;素有的对象都转化再 ‘[obje

2020-07-09 23:41:36 231

原创 其他类型转化为number

数据类型之间是可以相互转化的 显示 隐士 bool 转 number 显示转化 Number() parseInt() parseFloat() api 接受什么参数 api 的作用的是什么 var x = 0.1; var y = 0.2; console.log(x+y) // 注意:不要测试两个个浮点数 运算结果 console.log(x + y == 0.3); // 不论是二进制还是其他进制数 最后展示的都是十进制的数

2020-07-09 23:38:14 231

原创 运算符

运算符运算规则 1:从左往右计算 () 里面最优先 2:全体单目排第二 ++ – ! 【单目 只有一个操作数和操作符就可以运算的】 3:乘法除法取余排第三;加减排第四 4:移位(<< >>)排第五,关系(< > <= >=)排第六六 5:等于不等于排第七 6:逻辑运算符排第八,&& 优先 || 9:赋值排第九 10 逗号成员最低 括号成员最高级,全体单目排第二;乘除余三,加减四, 移位五,关系六,等于不等于排老七,逻辑八,赋值九,逗号成员最

2020-07-09 23:34:24 100

原创 事件委托与事件冒泡

发送DOM事件是为了将发生的相关事情通知代码。每个事件都是继承自Event 接口的对象,可以包括自定义的成员属性及函数用于获取事件发生时相关的更多信息。事件可以表示任何从基本的用户交互、到发生在渲染模型自动通知的任何事情。 本文提供了一个可以发送的事件的列表;一些是官方标准中的标准事件,另一些则是在特定浏览器内部使用的事件;例如,列出的 Mozilla 特定事件,使附加组件可以借助它们与浏览器进行交互。 常见的事件分类 | – 资源事件 ...

2020-07-09 19:16:12 454

原创 浅谈闭包与垃圾回收机制的关系

闭包与垃圾回收机制的关系 内存管理 对于内存的管理,Javascript与C语言等底层语言JavaScript是在创建变量(对象,字符串等)时自动进行了分配内存,并且在不使用它们时“自动”释放。 释放的过程称为垃圾回收。这个“自动”是混乱的根源,并让JavaScript(和其他高级语言)开发者错误的感觉他们可以不关心内存管理。 内存生命周期 对于计算机语言,内存生命周期基本上都是一样的,大致分为三个部分: 1.分配你所需要的内存 2.使用分配到的内存(读、写) 3.不需要时将其释放\归还 所有语言第二部分都

2020-07-03 22:55:00 411

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除