![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js基础
Huangrunze!
这个作者很懒,什么都没留下…
展开
-
js中获取DOM元素大小各属性
题记写这篇文章的背景还要从一道某大厂的笔试题说起,话不多说直接上题<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial原创 2022-04-19 01:03:44 · 1882 阅读 · 1 评论 -
函数参数结构传值(面试题)
先上题目????const createMember = ({ email, address = {} }) => { const validEmail = /.+\@.+\..+/.test(email) if (!validEmail) throw new Error("Valid email pls") return { email, address: address ? address : null }}const member = createMember({ e原创 2022-01-06 17:53:32 · 100 阅读 · 0 评论 -
js中Object.defineProperty(面试题)
使用Object.defineProperty(对象,属性名,{描述符})面试题 var obj = { brand: "华为", price: 1999 } Object.defineProperty(obj, 'id', { value: 1 }) Object.defineProperty(obj, 'price', {原创 2021-12-20 13:01:49 · 279 阅读 · 0 评论 -
js中关于宏任务和微任务执行顺序的部分细节问题
async function async1() { console.log("async1 start"); await async2(); console.log("async1 end");}async function async2() { console.log("async2");}async1();setTimeout(() => { console.log("timeout");}, 0);new Promise(function(.原创 2021-04-19 11:59:06 · 206 阅读 · 0 评论 -
js中toString和valueOf区别
toString()valueOf()这两个方法几乎出现在js中所有类型对应的内置对象的原型上(null和undefined除外),它们的出现解决了值运算的问题,但也出现了隐式转换这个让人头疼的问题。toString()返回一个表示当前值的特殊字符串,当对象表示为文本或以期望字符串被调用时,toString()方法会自动调用,比如用console.log()或者alert()方法输出值时,就会自动调用该方法,在进行值比较时,也可能触发该方法,也有可能触发valueOf方法,关于何时触发这两个方法.原创 2021-03-25 14:35:18 · 219 阅读 · 0 评论 -
HTTP协议和ajax
访问服务器的过程http协议请求消息格式请求方法GET和POST响应消息格式浏览器地址栏上输入一个页面地址,按下回回车键会发生什么?ajax原创 2021-02-12 16:02:45 · 84 阅读 · 0 评论 -
前端模块化CommonJs和ES6 module
模块化的概念CommonJsrequire函数原理ES6 module原创 2021-02-12 15:57:04 · 76 阅读 · 0 评论 -
es6Promise的使用
为啥要使用Promise没有promise之前,会造成回调地狱的现象。使用promise后在这里插入图片描述Promise模型promise可以分为两个状态,未决和已决,未决又包括等待状态,当执行resolve函数时,表示进入已决阶段,并且成功,当执行reject函数时,表示进入已决阶段,并且失败。需要注意的是,这个阶段是不可逆的,当成功时,我们不能再通过reject函数把状态变为失败,反之也是如此。...原创 2021-02-12 15:50:04 · 86 阅读 · 0 评论 -
js中关于对象实例化return问题
<script type="text/javascript"> function Person(name, age, sex) { // var this={} this.name = name; this.age = age; this.sex = sex; //return this } var per = new Person("原创 2021-02-06 14:03:04 · 815 阅读 · 0 评论 -
Object.defineProperty方法规则
Object.defineProperty("o","x",{})//o为要配置的对象//x为要配置的对象的属性//{}中写配置信息可写入writable enumerable configurable value //除value可以为大多数类型值外,其他属性都只能为布尔值。完整规则(任何违反规则的使用都会抛出类型错误异常)如果对象是不可扩展的,则可以编辑已有的自有属性,但不能给它添加新属性。如果属性是不可配置的,则不能修改它的可配置性和可枚举性。如果存取器属性是不可配置的,则不能修改原创 2021-02-04 12:30:25 · 65 阅读 · 0 评论 -
深度克隆(js)
使用深度克隆的原因:当用浅克隆克隆 <script> function clone(origin, target) { var target = target || {}, //用来判断该对象得属性是数组还是对象 str = Object.prototype.toString, arr = "[object Array]" for (v原创 2020-11-22 09:36:43 · 200 阅读 · 0 评论 -
创建对象 (js)
工厂模式function Person(name, age, sex) { //创建一个对象 var o = new Object(); o.name = name; o.age = age; o.sex = sex; o.sayname = function() { console.log(this.name)原创 2020-11-16 23:16:11 · 65 阅读 · 0 评论 -
in操作符和hasOwnProprety方法的使用(js)
in操作符和hasOwnProprety方法主要是用来判断对象属性是属于原型上还是实例上。in操作符in操作符会在通过对象能够访问给定属性时返回true,无论该属性是存在于实例中还是原型中。in操作符还可以一种 for-in的用法,该用法主要用来遍历对象中的属性,这里我们不展开讨论。hasOwnProprety方法该方法可以检测属性是存在于实例中还是存在于原型中,如果存在于实例中,则返回true。 function Person() { } Person.pro原创 2020-11-16 22:04:11 · 234 阅读 · 0 评论 -
js中数组的迭代方法
迭代方法每个方法都接受两个参数:要在每一项上运行的函数(可选的)和运行该函数的作用域对象——影响this的值。传入的函数会接受三个参数:数组项的值、该项在数组中的位置和数字对象本身。every如果该函数对每一项都返回true,则返回true。<script> var index = [2, 3, 5, 10, 15]; var boolean = index.every(function(item, index, array) {原创 2020-11-13 15:07:09 · 61 阅读 · 0 评论 -
js中常用数组方法
数组的栈方法栈结构的访问规则是LIFO(后进先出),所以我们使用push()和pop()两个方法。push()在数组末尾添加项,可传入多个参数,参数之间用逗号隔开,也可以用扩展运算符(es6语法)传入一个数组,会改变原来的数组。pop()删除数组末尾最后一项,不需要传入参数,也会改变原来的数组。<script> // 数组的栈方法 var index = [1, 2, 3, 4, 5, 6]; //push()方法;在数组末尾添加项,可原创 2020-11-13 14:41:46 · 158 阅读 · 0 评论 -
js之++先加后加以及逗号运算符的使用
<script> //a++ 先用后加 //++a 先加后用 //逗号运算符:会执行前一部分的,然后返回后一部分的值 var a = 1; a = (++a, a++) //++a a=2 //a++ => 2 console.log(a); //2 a = (a++, ++a); //a++ => a=3原创 2020-11-10 12:59:36 · 248 阅读 · 0 评论