JS
JavaScript的基础知识
Warriorkris0816
这个作者很懒,什么都没留下…
展开
-
事件冒泡
事件冒泡当事件发生后,这个事件就要开始传播(从里到外或者从外向里)。为什么要传播呢?因为事件源本身(可能)并没有处理事件的能力,即处理事件的函数(方法)并未绑定在该事件源上。例如我们点击一个按钮时,就会产生一个click事件,但这个按钮本身可能不能处理这个事件,事件必须从这个按钮传播出去,从而到达能够处理这个事件的代码中(例如我们给按钮的onclick属性赋一个函数的名字,就是让这个函数去处理该...原创 2020-03-11 20:02:38 · 132 阅读 · 0 评论 -
JS中document对象和window对象有什么区别么?
简单来说,document是window的一个对象属性。Window 对象表示浏览器中打开的窗口。如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。所有的全局函数和对象都属于Window 对象的属性和方法。document 对 Document 对象的只读引用。区别:一、指...原创 2020-03-11 14:50:12 · 297 阅读 · 0 评论 -
js中new操作符到底干了什么?
先看一个例子: function Person() { this.name = 'Andy'; this.age = 20; this.say = function () { console.log('hello everybody'); } } Per...原创 2020-03-11 14:47:32 · 248 阅读 · 0 评论 -
JavaScript 判断判断某个对象是Object还是一个Array?
1.typeof 操作符.对于Function, String, Number ,Undefined 等几种类型的对象来说,他完全可以胜任,但是为Array时代码如下:var arr=new Array("1","2","3","4","5");alert(typeof(arr));你会收到一个object 的答案,有点让人失望 .2.instanceof 操作符,JavaScript...原创 2020-03-11 11:55:21 · 886 阅读 · 0 评论 -
闭包
什么是闭包?闭包的优缺点?闭包(closure)是javascript的一大难点,也是它的特色。很多高级应用都要依靠闭包来实现。1、变量作用域要理解闭包,首先要理解javascript的特殊的变量作用域。变量的作用域无非就两种:全局变量和局部变量。javascript语言的特别之处就在于:函数内部可以直接读取全局变量,但是在函数外部无法读取函数内部的局部变量。注意点:在函数内部声明变量...原创 2020-03-11 11:43:47 · 120 阅读 · 0 评论 -
作用域及作用域链
何为作用域任何编程语言都有作用域的概念,简单来说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。js的作用域是靠函数来形成的,也就是说一个函数的变量在函数外不可以访问。1全局作用域任何地方都能访问到的对象拥有全局作用域。1.1函数外面定义的变量拥有全局作用域1.2未定义直接赋值的变量自动声明为拥有全局作用域3.window对象的属性拥有全局作用2...原创 2020-03-11 11:39:38 · 226 阅读 · 0 评论 -
js中的内置对象
在js里,一切皆为或者皆可以被用作对象。可通过new一个对象或者直接以字面量形式创建变量(如var i=“aaa”),所有变量都有对象的性质。注意:通过字面量创建的对象在调用属性和方法时会被对象包装器暂时包装成一个对象,具有对象的性质。如var str=“我不是一个真的对象”;alert(str.length); //str被暂时包装成一个String对象,可调用该对象的属性和方法不...原创 2020-03-11 11:35:20 · 177 阅读 · 0 评论 -
null与undefined的区别?
1、首先看一个判断题:null和undefined 是否相等console.log(null==undefined)//trueconsole.log(null===undefined)//false观察可以发现:null和undefined 两者相等,但是当两者做全等比较时,两者又不等。原因:null: Null类型,代表“空值”,代表一个空对象指针,使用typeof运算得到 “obj...原创 2020-03-11 11:20:48 · 165 阅读 · 0 评论 -
浅谈JS中的栈和堆
在JS中,我们知道数据类型分为原始类型(number, string, boolean, null, undefined)引用类型(object) => Array, function, data, RegExp原始类型都是保存在栈当中,引用类型都是保存在堆当中举个例子var a = 123 // 是原始类型,会在栈底部,创建一个叫做a的房间,里面放入123var a = ...原创 2020-03-11 00:34:18 · 155 阅读 · 0 评论 -
原型与原型链详解
前言与大部分面向对象语言不同,ES6之前中并没有引入类(class)的概念,JavaScript并非通过类而是直接通过构造函数来创建实例。在介绍原型和原型链之前,我们有必要先复习一下构造函数的知识。一、构造函数构造函数模式的目的就是为了创建一个自定义类,并且创建这个类的实例。构造函数模式中拥有了类和实例的概念,并且实例和实例之间是相互独立的,即实例识别。构造函数就是一个普通的函数,创建方式...原创 2020-03-10 20:24:34 · 233 阅读 · 0 评论 -
JavaScript Array 对象
Array 对象https://www.w3school.com.cn/jsref/jsref_obj_array.aspArray 对象用于在单个的变量中存储多个值。创建 Array 对象的语法:new Array();new Array(size);new Array(element0, element1, ..., elementn);参数参数 size 是期望的数组元素个...原创 2020-03-09 18:52:11 · 161 阅读 · 0 评论 -
JS的基本数据类型
一、数据类型简介:1.JavaScript(以下简称js)的数据类型分为两种:原始类型(即基本数据类型)和对象类型(即引用数据类型);2.js常用的基本数据类型包括undefined、null、number、boolean、string;3.js的引用数据类型也就是对象类型Object,比如:Object、array、function、data等;二、基本数据类型特点:1.基本数据类型是...原创 2020-03-07 20:32:05 · 221 阅读 · 0 评论 -
深拷贝和浅拷贝的区别?
jdfjhjb原创 2020-03-07 21:03:24 · 268 阅读 · 0 评论 -
js中如何复制一个对象?
对象拷贝的方法是一个难点,尤其是深拷贝。建议把代码都运行下,帮助理解拷贝。一. json方法适合情况: JSON对象的深度克隆。方法是先JSON.stringify() 转为json字符串, 再JSON.parse() 转为json数组缺点: a. 如果你的对象里有函数, 函数无法被拷贝下来 b. 无法拷贝copyObj对象原型链上的属性和方法var obj = {...原创 2020-03-07 21:10:32 · 268 阅读 · 0 评论 -
this的指向?
一、 thisthis是JS中的关键字, 它始终指向了一个对象, this是一个指针;参考博文:[JavaScript函数中的this四种绑定形式(https://www.jb51.net/article/121164.htm)this指向及改变this指向的方法]https://blog.csdn.net/xuehangongzi/article/details/80841167二...原创 2020-03-08 23:54:29 · 117 阅读 · 0 评论 -
正则表达式
文章目录1 正则表达式概述1.1 什么是正则表达式正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式。在Javascript中,正则表达式也是对象。正则表通常被用来检索,替换那些符合某个模式(规则)的文本,例如验证表单:用户名表单只能输入英文字母、数字或者下划线,昵称输入中文(匹配)。此外,正则表达式还常用于过滤掉页面内容中的一些敏感词,或从字符串从获取我们...原创 2020-03-09 00:47:32 · 254 阅读 · 0 评论 -
正则表达式test()方法
正则表达式中的 test() 方法用来检测一个字符串是否匹配某个正则表达式test() 方法的具体格式如下:regexp.test(string)regexp 表示正则表达式对象,参数 string 表示要检测的字符串。如果字符串 string 中含有与 regexp 正则表达式匹配的文本,则返回 true;否则返回 false。示例1在下面示例中,使用 test() 方法检测字符串中是...原创 2020-03-09 01:42:49 · 6497 阅读 · 0 评论