自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 布尔值Boolean

1、Boolean()方法和!!的结果是一样的,都可以来判断某个值是truth或2、== 比较的时候,会调用值的toString方法,根据值的类型调用该值原型上的toString方法,进行比较。toSting不会修改原值。

2020-06-28 17:13:07 314

原创 ES6 class类

类实际上是个“特殊的函数”,就像你能够定义的函数表达式和函数声明一样,类语法有两个组成部分:类表达式和类声明。函数声明和类声明之间的一个重要区别是函数声明会提升,类声明不会。类中定义的方法,在原型prototype上,类中constructor构造函数定义的方法和属性 是实例对象的 class Foo { constructor(){ this.a = 1; this.b = 2; } fun

2020-06-28 17:04:09 254

原创 数组练习题

1、不使用for循环,实现一个方法,传入m n两个参数,返回一个长度为m,每项为n的数组(1)递归,使用递归也特别注意return的使用。 function func(m, n) { if(typeof m !== "number" && m <= 0){ return arr; }else { arr[arr.length] = n;

2020-06-24 15:15:38 600

原创 instanceof

instanceof运算符用于检测构造函数的prototype属性(构造函数原型)是否出现在某个实例对象的原型链上。instanceof运算符用来检测constructor.prototype是否存在于参数object的原型链上。// 定义构造函数function C(){} function D(){} var o = new C();o instanceof C; // true,因为 Object.getPrototypeOf(o) === C.prototyp...

2020-06-24 13:45:08 258

原创 包装类对象

字符串、布尔值、数字都是可以调用方法的,尤其是字符串,有很多的方法可以调用,那么他们的原理是什么呢?1、字符串的原型上的方法var str = new String(); 空字符串实例该实例的原型上的方法有:2、布尔值的原型上的方法var flag = new Boolean(); 值为false的布尔类型我们知道布尔类型也重写了toString方法 var flag = true; console.log(flag.toString(.

2020-06-23 15:55:55 317

原创 Symbol类型

symbol是一种基本数据类型 (primitive data type)。每个从Symbol()返回的symbol值都是唯一的。不支持语法:"new Symbol()":从 ECMAScript 6 开始不再被支持原始数据类型创建一个显式包装器对象。 然而,现有的原始包装器对象,如new Boolean、new String以及new Number,因为遗留原因仍可被创建。所以目前只有Symbol类型不能创建包装器对象。直接使用Symbol()创建新的symbol类型,并用一个可选的字符...

2020-06-23 14:33:27 1891

原创 new操作符;构造函数的继承;构造函数的this指向;函数执行时的this指向

1、new操作符之前的修改原型申明一个函数的时候 ,该函数的prototype属性指向原型,且原型中默认是constructor属性,指向该函数。注意修改函数的prototype,是修改引用指向,还是修改了对象本身。修改引用指向,就是修改了原型,指向一个新的对象: function Foo(){ this.name = "foo"; this.age = 24 } console.log(Foo.

2020-06-22 16:44:21 767

转载 继承与原型链

在 ES2015/ES6 中引入了class关键字,但那只是语法糖,JavaScript 仍然是基于原型的,它是动态的。继承:每个实例对象( object )都有一个私有属性(称之为 __proto__ 兼容性:IE11,不是标准)指向它的构造函数的原型对象(prototype)。该原型对象也有一个自己的原型对象( __proto__ ) ,层层向上直到一个对象的原型对象为null。根据定义,null没有原型,并作为这个原型链中的最后一个环节。几乎所有 JavaScript 中的对象都...

2020-06-22 15:03:58 155

原创 Object对象原型

4、对象原型的操作(1)Object.setPrototypeOf() ES6 IE11设置对象的原型(即内部 [[Prototype]] 属性)Object.setPrototypeOf()方法设置一个指定的对象的原型 ( 即, 内部[[Prototype]]属性)到另一个对象或 null。当调用该方法 的时候,如果对象的[[Prototype]]是不可扩展(通过Object.isExtensible()查看),就会抛出TypeError异常。如果prototype参数不是一个对...

2020-06-20 14:53:26 1181

原创 Object.freeze() 方法冻结对象、Object.seal()方法封闭对象、Object.preventExtensions()方法象不可扩展

3、对象的设置(1)Object.isExtensible()和Object.preventExtensions() ES5Object.isExtensible()方法判断一个对象是否是可扩展的(是否可以在它上面添加新的属性)。返回一个Boolean值。默认情况下,对象是可扩展的:即可以为他们添加新的属性。以及它们的__proto__属性可以被更改。Object.preventExtensions,Object.seal或Object.freeze方法都可以标记一个对象为不可扩展(...

2020-06-20 14:23:05 381

原创 Object原型上的toString和hasOwnProperty方法、Object构造函数上的两个方法Object.is和Object.assign方法

Object.prototype可以为所有 Object 类型的对象添加属性,对象原型,上面有封装好的方法。可以供所有的对象继承使用。1、Object.defineProperty()给对象添加一个属性并指定该属性的配置。Object.defineProperties()给对象添加多个属性并分别指定它们的配置。2、Object.keys()返回一个包含所有给定对象自身可枚举属性名称的数组。Object.values()返回给定对象自身可枚举值的数组。

2020-06-19 17:21:57 481

原创 数据属性和访问器属性——Object.defineProperty()方法

一、数据属性通常我们给对象设置一个属性,configurable 、 enumerable和 writable都是true。在调用 Object.defineProperty() 方法时,如果不指定, configurable 、 enumerable和 writable 特性的默认值都是 false。拥有布尔值的键configurable、enumerable和writable的默认值都是false。 属性值和函数的键value、get和set字段的默认值为undefined...

2020-06-19 14:52:29 744

原创 js数组常用方法,sort方法,reduce方法

11、indexOf方法和lastINdexOf方法 -- ES5方法正向查找和反向查找数组中的值,返回找到的第一个值的索引,如果没有返回-1 var arr = ["a","c","b","ac","bc","b"]; console.log(arr.indexOf("b"));//2 console.log(arr.lastIndexOf("b"));//512、迭代方法 -- ES5方法对数组的每一项指定一个运行函数参数:item,i

2020-06-17 20:23:39 725

原创 js数组

一、数组介绍1、数组是有序列表,每一项可以保存任何类型的数据2、创建数组的方式:(1)构造函数 var arr = new Array(1,2,3); console.log(arr);如果只是一个数字,表示数组的长度,比如: var arr = new Array(3); console.log(arr); //结果:[empty × 3](2)数组字面量与对象一样,数组字..

2020-06-17 17:03:49 441

原创 JavaScript正则表达式、传递字符串生成正则表达式

正则表达式的创建方式;常用的字符;子表达式;优先级

2020-06-15 17:50:27 1935

原创 ES6箭头函数

箭头函数1、箭头函数是匿名函数JS 中的箭头函数是匿名(anonymous)的,函数的name属性是空字符。2、箭头函数没有自己的this,arguments,super或new.target,没有原型prototype,不能new对象。如果你在箭头函数引用了this、arguments或者参数之外的变量,那它们一定不是箭头函数本身包含的,而是从父级作用域继承的。3、箭头函数不支持new.targetnew.target是ES6新引入的属性,普通函数如果通过new调用,new.tar

2020-06-12 17:09:33 228

原创 ES6函数传参——默认参数和剩余参数

一、默认参数1、只有在未传递参数,或者参数为 undefined 时,才会使用默认参数,null 值被认为是有效的值传递。即使显式的传入undefined(虽然不是null或其他falsy值),但是形参的值还是默认值。2、调用时解析在函数被调用时,参数默认值会被解析,比如:function append(value, array = []) { array.push(value); return array;}append(1); //[1]append(2); //[

2020-06-11 00:03:13 2105

原创 闭包closure以及闭包在实际开发中的使用

严格来说,闭包需要满足三个条件:【1】访问所在作用域;【2】函数嵌套;【3】在所在作用域外被调用有些人觉得只满足条件1就可以,所以IIFE是闭包;有些人觉得满足条件1和2才可以,所以被嵌套的函数才是闭包;有些人觉得3个条件都满足才可以,所以在作用域以外的地方被调用的函数才是闭包1、函数作用域链的副作用,引起闭包,闭包所保存的是整个变量对象 function foo() { var arr = []; for (var i = 0; i

2020-06-09 17:30:24 306

原创 不建议使用的with和永远不要使用的eval

with 语句用于设置代码在特定对象中的作用域。例如; var obj = { name: "obj" } var name = "window"; function func(){ var name = "func"; with(obj){ console.log(name); } }

2020-06-08 20:45:18 799

原创 Function类型(函数)

Function类型1、函数实际上是对象,函数名是指向函数对象的指针,因此函数名与其他指向该函数的变量没有什么不同。比如: function func (){ console.log("funtion"); } var func1 = func; func1(); console.log(func === func1);结果是打印“function”和“true”。即func和func1都

2020-06-04 22:45:57 2611

原创 内置构造函数的原型prototype

我们需要关注内置构造函数的prototype,1、三个包装类对象Number.prototypeNumber{0, constructor: ƒ, toExponential: ƒ, toFixed: ƒ, toPrecision: ƒ,…}String.prototypeString{"", constructor: ƒ, anchor: ƒ, big: ƒ, blink: ƒ,…}Boolean.prototypeBoolean{false, constructor: ...

2020-06-04 22:15:38 183

“去哪网”城市选择json文件

“去哪网”移动端的城市选择文件,国家—省—市,包括热门城市,首字母选择。

2018-12-05

空空如也

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

TA关注的人

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