![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascript
文章平均质量分 77
努力让自己幸运
越努力,越幸运
展开
-
javascript - this的用法
this,javascript 中的一个关键字。它是在运行时,在函数体内自动生成的一个对象,因此只能在函数体内使用下面让我们直截了当的来看下 this 的几种使用方式1. 函数调用函数的通常用法,这种属于全局调用,因此这时 this 就代表者全局对象var x = 1;function fn(){ console.log(x); // 变量 x,这时是...原创 2018-08-06 10:59:46 · 135 阅读 · 0 评论 -
JavaScript 基本概念
JavaScript的实现ECMAScript 核心DOM 文档对象模型BOM 浏览器对象模型ECMAScript语法类型语句关键字保留字操作符对象原创 2019-06-10 19:05:33 · 96 阅读 · 0 评论 -
JavaScript - 函数
Function 类型每个函数都是 Function 类型的一个实例,与其他引用类型一样具有属性和方法。函数也是对象。所以,函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定。函数中没有重载的概念。强类型语言中存在重载的概念,但是 JavaScript 是弱类型语言,不存在重载的概念。何为重载?比如说,2个一样的函数,后面的函数不会覆盖前面的函数,并且当调用一个函数时,能够全执行...原创 2019-06-24 10:59:39 · 97 阅读 · 0 评论 -
预解释和作用域
预解释的机制:带var的关键字和function关键字都会进行预解释预解释:(一种毫不节操的机制)在JS代码之前,首先找到所有带var关键字和function关键字的,提前声明(declare)或者定义(defined)var:在代码执行之前只是先声明(默认值是Undefined)然后代码才开始从上向执行定义赋值这一步function:在代码执行之前把声明个定义两部分都完成了,代码执行的过...原创 2019-06-24 11:03:55 · 88 阅读 · 0 评论 -
DOM
DOM节点类型类型nodeTypenodeNamenodeValue元素节点1node标签名称文本节点3#text文本内容注释节点8#comment注释内容属性节点2属性名属性值Document 对象document 对象是 HTMLDocument 的一个实例,表示整个 HTML 页面。而且 document 是 win...原创 2019-07-08 14:11:32 · 739 阅读 · 0 评论 -
Object 以及 object 的属性类型
属性类型数据属性修改获取属性值时[[Configurable]] :是否能否通过 delete 删除属性从而重新定义属性,能否修改属性的特性,能够把属性改为访问器属性。能够直接在对象上定义的属性,默认值是true。[[Enumerable]] : 能否通过 for-in 循环返回属性。能够直接在对象上定义的属性,默认值是true。[[Writable]] : 能否修改属性的值,能够直接...原创 2019-06-27 12:51:53 · 3212 阅读 · 0 评论 -
objec 创建对象的模式有那几种
工厂模式利用函数封装,减少代码重复问题function Cat(name,color){ var o = new Object(); o.name = name; o.color = color; return o;}//相当于调用函数 Catvar cat1 = Cat("大毛","黄色");var cat2 = Cat("2毛","白色");ca...原创 2019-06-27 13:59:21 · 117 阅读 · 0 评论 -
谈谈 js 中的继承
继承ECMAScript 只支持实现继承,并且其继承主要是依靠原型链来实现的。就是把一个构造函数的原型复制了一份给需要继承的原型上。原型链利用原型链作为继承的主要思想就是:利用原型让一个引用对象去继承另一个引用对象的属性和方法。比如,把 B 的一个实例给了 A 的原型。那么 A 的原型就包含了 B 上面的一些方法和属性。A 的实例也可以使用这些属性和方法。function Sup(){...原创 2019-07-03 17:51:03 · 144 阅读 · 0 评论 -
BOM
locationlocation 对象中保存着一些浏览器信息,并且还将 URL 地址解析为独立的片段,方便开发人员使用。是 window 对象也同样是 document 对象。属性名例子说明hash“#name”返回 URL 中 # 号后面的一个或多个字符串,没有则返回空host“10.62.30.157:9090”返回服务器名称和端口号(端口号没有则不显示...原创 2019-07-05 15:22:36 · 194 阅读 · 0 评论 -
表单
基础基本属性acceptCharset - 服务器能够处理的字符集action - 请求的URLelements - 表单中所有元素的集合enctype - 请求的编码类型length - 表单中元素的数量method - 要发送的 HTTP 请求类型name - 表单的namereset() - 重置为默认值submit() - 提交表单target - 用于发送请求和接...原创 2019-07-12 14:35:38 · 124 阅读 · 0 评论 -
防止篡改对象的属性或方法
防止一些共享代码或者 JavaScript 库被人有意无意的修改了核心代码等。1. 不可扩展的对象 Object.preventExtensions()let obj = {name:"k&k"};Object.preventExtensions(obj);obj.name // "k&k"obj.age = 2;obj.age // undefinedobj.n...原创 2019-07-26 15:13:37 · 449 阅读 · 0 评论 -
剩余参数和分布参数
函数参数剩余参数和分布参数不使用 arguments 对象也可以获取函数传入的可变量的参数。剩余参数的语法就是**…和一个标识符**,使用这种语法定义可以接受传进来的更多参数,把他们收集在一个数组中(不是类数组哦)。function fn(sum,...sums){ // 这里的剩余参数名不能和参数名 名称一样哦 console.log("sum",sum,"...",...sums)}...原创 2019-07-31 19:57:06 · 327 阅读 · 0 评论 -
JavaScript错误处理
try-catch 语句try-catch 语句用作于处理 JavaScript 中异常的一种方式。try{ //可能存在错误的代码}catch(error){ //在发生错误时如何处理}try 块中的任何代码发生错误,都会立即退出代码的执行过程,然后紧接着执行 catch 块,此时,catch 块会接受到一个包含错误信息的对象,这个对象中保存着错误信息的 message 属性。当...原创 2019-07-23 11:29:03 · 719 阅读 · 0 评论 -
正则
方法捕获reg.exec(str)exec只能捕获一次 如果没有符合的返回null匹配reg.test(str)此方法仅仅是检查是否能够匹配,匹配成功返回true,不成功返回falsematch 字符串的方法匹配正则表达式,将符合条件的返回成数组str.match(ref)—于正则表达式的exec方法类似,该方法同样返回一个数组,返回值上也有input和index属性r...原创 2019-06-14 11:40:05 · 160 阅读 · 0 评论 -
JavaScript - 变量的区别和作用域以及垃圾回收的机制
基本变量和引用变量的区别基本变量指简单的数据段,由 Undefined、Null、Boolean、Number、String。5种基本类型按值访问。可直接操作保存在遍历的值。引用变量指由多个值构成的对象,引用类型值是保存在内存中的,操作时,实际操作的是对象的引用而不是实际的对象。对于引用类型可以为其添加属性和方法,也可以改变或删除属性和方法。复制变量值基本变量当一个变量复制基本变量...原创 2019-06-13 14:17:58 · 170 阅读 · 0 评论 -
创建对象的几种模式
javascript中的面向对象面向对象语言的的特性就是有类(class)的概念,通过类可以创建任意多个具有相同属性或方法的对象,然而 javascript 中没有类(class)的概念,所以它不是真正的面向对象对象由N组键值对组合起来的无序属性顺序的结合,其属性值可以是任意类型//采用生成一个 Object 的实例来创建一个对象var obj = new Object...原创 2018-08-10 11:39:24 · 142 阅读 · 0 评论 -
数组方法
创建数组使用 Array 构造函数创建数组var arr1 = new Array(); //创建一个空数组var arr2 = new Array(20); // 创建一个包含20项的数组var arr3 = new Array("lily","lucy","Tom"); // 创建一个包含3个字符串的数组使用数组字面量创建数组var arr4 = []; //创...原创 2018-08-07 10:15:23 · 418 阅读 · 3 评论 -
揭开 this 的神秘面纱
首先,要知道的是 this 是指函数当前的运行环境(上下文)。我们都知道 this 是函数运行时所在的环境,但我们不知道是函数的运行环境到底是怎么决定的。var obj = { fn:function(){ console.log(this.title); }, title:"Hello"}var fn = obj.fn;var title ...原创 2018-08-03 15:06:32 · 399 阅读 · 0 评论 -
DOM总结
DOM节点类型...类型 nodeType nodeName nodeValue 元素节点 1 node 标签名称 文本节点 3 #text 文本内容 注释节点 8 #comment 注释内容 属性节点 2 属性名 属性值 ...原创 2019-03-05 17:27:39 · 597 阅读 · 0 评论 -
Javascript - 事件
概念事件就是用户或浏览器自身执行的的某种动作,而响应某个事件的函数。以“on” 开头。如:onclick、onload ...而影响某个事件的函数就叫做事件处理程序/事件侦听。事件流从页面中接受事件的顺序。但 IE 和标准浏览器的事件流水相反的,IE 的事件流是事件冒泡,标准浏览器的事件流水事件捕获。事件捕获从页面的顶级一层层接收事件,真是的事件节点是最后接收的。...原创 2018-08-31 14:32:10 · 134 阅读 · 0 评论 -
解锁 BOM 的 Location 对象的技能
location,BOM 最常用的对象之一,提供了当前窗口加载的文档信息和一些导航功能。location,一个特殊的对象,它既是 window 对象的属性,也是 document 对象的属性,换句话说 document.location 和 window.location 引用的是同一个对象location的常用属性hast:返回URL中 #号后面跟着的0个或多个字符,没有则返...原创 2018-08-30 11:57:45 · 203 阅读 · 0 评论 -
客户端检测
能力检测:在编写代码之前先检测浏览器的能力,在脚本调用某个函数之前,先检测该函数是否存在,如:document.getElementById 怪癖检测:怪癖是浏览器实现上的一个bug 用户代理检测:用过检测用户代理字符串来识别浏览器。用户代理字符串中包含了大量与浏览器有关的信息,包括了浏览器,平台,操作系统以及浏览器版本,通过用户代理检测字符串能够检测出浏览器所用的呈现引擎...原创 2018-08-30 15:57:28 · 92 阅读 · 0 评论 -
何为闭包
IIFE 就是自执行函数,也就是闭包。闭包 --> 在某个函数内部定义了其他函数时,就创建了闭包。闭包的特点:函数嵌套函数 内部函数可以获取外部(函数)变量 参数和变量不会被注销(回收)下面的 2 个例子说明,在函数内部是可以获取全局变量,但在函数外部无法获取函数内部的变量var n=999;function f1(){ alert(n);}f1...原创 2018-09-12 10:33:15 · 161 阅读 · 0 评论 -
浏览器中的eventLoop
堆与栈我们的数据会在栈(stack)中执行,但是还有一些数据会存在堆(heap)stack: 就是主线程和任务被执行的地方heap: 就是我们一些费结构化数据,例如变量…宏任务 & 微任务宏任务(MacroTask)&&宏任务队列宏任务总是在下一个eventLoop执行,在微任务之后,在执行宏任务中如果添加了新的微任务,会把新的微任务添加到微任务的队列中。...原创 2018-12-04 16:34:42 · 233 阅读 · 0 评论 -
Promise
Promise什么是Promise?Promise 在英文中的意思是承诺。在程序中表示,承诺在一段时间后给出结果。Promise 是解决异步编程的一种方案。Promise 由社区最早提出和实现,在ES6中归入语言标准,so Promise 是原生自带的我们为什么要需要 promise回调地狱回调地狱-> 在需要多个操作的时候,会导致我们的函数内部嵌套多个函数,导致代码不够...原创 2018-12-02 21:07:59 · 195 阅读 · 0 评论 -
Generator 生成器函数
Generator 函数语法Generator 函数是ES6提供的一个生成器执行Generator函数会返回一个迭代器(是一个对象),该迭代器上有个next方法,调用next后返回2个属性value和done ,done值为true/flase,true表示没有迭代完,value值是 yield的返回值定义Generator和普通函数定义时一样,唯一不同就是在function后面添加*,因...原创 2019-05-31 10:13:18 · 300 阅读 · 0 评论 -
箭头函数和普通函数的区别
区别箭头函数和普通函数之间最关键的区别是this指向问题。普通函数中的 this 指向函数被调用的对象,因此对于不同的调用者,this 的值是不同的。箭头函数中并没有自己的 this ,所以箭头函数中的 this 是固定的,指向定义函数时所在的对象。普通函数var a = 3;var obj = { a:1, foo:function(){ console.log(this.a)...原创 2019-08-02 14:31:17 · 153 阅读 · 0 评论