JavaScript
文章平均质量分 60
JavaScript
面向对象面向君
这个作者很懒,什么都没留下…
展开
-
一维数组&多维数组去重的几个实现方法
针对值是非引用类型的一维数组&多维数组去重的几个实现方法原创 2023-01-17 22:44:09 · 268 阅读 · 0 评论 -
关于 == 和 === 和 Object.is() 的详细介绍
关于 == 和 === 和 Object.is() 的详细介绍关于 ==等于运算符(==)检查其两个操作数是否相等,并返回Boolean结果,在某些情况下会尝试强制类型转换来比较不同类型的操作数。具体的规则如下:如果两个操作数都是对象,则仅当两个操作数都引用同一个对象时才返回true。(对象类型的判断其实和 === 一样,都是只看是否是相同引用即可)如果一个操作数是 null,另一个操作数是 undefined,则返回 true。如果两个操作数是不同类型的,就会尝试在比较之前将它们转换为相同类型原创 2022-04-01 15:21:43 · 537 阅读 · 0 评论 -
获取浏览器路径(URL)中指定名字的 query 参数的值的几种方法
获取浏览器路径(URL)中指定名字的 query 参数的值的几种方法history 模式下const getQueryByNameHistory = name => { return new URL(location.href).searchParams.get(name) // 或 // return new URLSearchParams(location.search).get(name)}hash 模式下const getQueryByNameHash = name =原创 2022-03-21 16:50:07 · 2232 阅读 · 0 评论 -
undefined 和 void
undefined 和 void在 core-util-is 这个库里面有个判断是否是 undefined 的方法是这么写的:function isUndefined(arg) { return arg === void 0;}为什么不直接用 arg === undefined 进行判断呢?void 0 又是什么意思?看完下面分别对 undefined 和 void 的介绍就能明白了。undefinedundefined 是 JavaScript 中的一种原始数据类型,是一个内置的全局属性原创 2022-03-16 15:31:06 · 402 阅读 · 0 评论 -
关于 var 和 let 的变量提升问题
关于 var 和 let 的变量提升问题思考题 1showName();var showName = function() { console.log(2);};function showName() { console.log(1);}打印结果是:1原因:用 var 定义的变量存在 定义 和 初始化 的提升,使用关键字 function 定义的函数存在函数 定义 、初始化 以及 赋值 的提升。所以实际的过程如下:var showName;showName = undefi原创 2022-03-16 15:29:32 · 593 阅读 · 0 评论 -
各种对象上的 toString 方法的区别和关联
各种对象上的 toString 方法的区别和关联问:请简述一下用于判断数据类型都有哪些方法?答:巴拉巴拉……小魔仙在判断数据类型的时候,有一种方式可以清晰直接地区分出所有的数据类型,即 Object.prototype.toString.call(),这方法的核心就是利用了 Object 的原型对象上的 toString 方法,这个方法会返回一个表示对象的字符串,返回的格式是 [object type],其中的 type 指代的是具体的数据类型,如下示例代码所示:Object.prototype.t原创 2022-03-10 10:54:04 · 369 阅读 · 0 评论 -
class - function ES6类的方法的两种定义方式及调用方式
方式import * as React from 'react';const { PureComponent, Fragment } = React;class Test extends PureComponent { render() { return ( <Fragment> <butt...原创 2018-12-06 19:33:59 · 8219 阅读 · 2 评论 -
React - setState() 的两种传参方式介绍及理解
方式传入新的 state 对象this.setState({ age: 2,});传入回调函数,并在回调函数里面返回新的 state 对象this.setState((prevState, props) =&gt; { return { age: prevState.age + props.age, };});说明关于调用 setState() 进行状态更...原创 2018-12-03 19:33:45 · 14559 阅读 · 0 评论 -
基于ES6的移动(拖动)元素的插件(2)
下载&说明地址:https://github.com/gonghongchen/MoveJS DEMO地址:https://gonghongchen.github.io/MoveJS/这个相对于上一个移动元素的插件有如下区别: 1.上一个插件固定了移动元素的移动范围为浏览器可视窗口内,而这个版本可以通过设置移动元素的父级元素以实现自定义的移动范围; 2.上一个插件可以自定义移动时光标的放置位置原创 2017-12-16 15:44:44 · 485 阅读 · 0 评论 -
基于ES6的缩放元素的插件
下载&使用说明地址:https://github.com/gonghongchen/ZoomJS DEMO地址:https://gonghongchen.github.io/ZoomJS/自我介绍下: 1.使用后可以对指定的某个元素实现缩放的功能,上下、左右四个方向可以用于缩放高、宽,四个顶点可以用于等比缩放大小; 2.可以使用指定的边界元素来限制缩放的范围; 3.这个是基于ES6的,所以在原创 2017-12-16 16:35:08 · 1065 阅读 · 4 评论 -
在【ES6】的【Class】中编写属性的取值函数【get】和存值函数【set】时的三点注意事项
可以只编写【get】方法,但是方法名和属性名不能同名,否则在设置这个属性的值时会报“没有【set】方法”的错误。可以只编写【set】方法,但是方法名和属性名不能同名,否则会报“栈溢出”的错误。同时编写【get】和【set】方法时,两个方法名必须要同时满足同名且不和属性名同名的条件。下面是一个示例代码,可以用于上面三点的测试:<!DOCTYPE html><html> <head>原创 2017-12-10 14:57:28 · 3483 阅读 · 0 评论 -
原生JavaScript(ES5)实现Ajax(可直接使用)及详细说明
JavaScript代码如下,说明见注释:var ajax = function(parameters) { /* * @description 用Ajax获取数据。 * @parameter {object} parameters 数据对象,属性如下: * @property {string} url 请求地址 * @property {string原创 2017-11-16 22:43:52 · 1434 阅读 · 0 评论 -
JS中全局变量和局部变量
全局变量,作用域为所属的整个程序。定义形式:在函数外定义。在函数内定义,但是不加var声明。使用 window.变量名的形式定义。(注:兼容性未知)使用 window['变量名']的形式定义。(注:兼容性未知)局部变量,作用域为所属的函数内部。定义形式:在函数内部定义的变量。函数中用到的形式参数。例子:var a =0;原创 2017-01-10 23:03:01 · 10428 阅读 · 1 评论 -
用JS封装的通用addClass方法(函数)和removeClass方法(函数)
/* * 函数名:添加class。 * 参数说明:element(必选) 指的是需要添加class的元素(对象); new_name(必选) 指的是需要添加的class名。 * 返回值说明:形参为空则返回false;添加新的class名成功后则返回true。 * 函数作用:为指定的元素添加指定的class名。 */function addClass(element, new_name)原创 2017-03-20 10:15:14 · 3686 阅读 · 0 评论 -
js中firstChild和childNodes[0]以及children[0]之间的点滴问题
示例: js中firstChild和childNodes[0]以及children[0]之间的点滴问题 pppppppppppppppp window.onload = function() { if (!document.getElementById("div1")) return false; var原创 2017-03-11 16:41:12 · 6998 阅读 · 0 评论 -
分享两篇有关跨域的文章
1 说说JSON和JSONP,也许你会豁然开朗原文链接:http://kb.cnblogs.com/page/139725/2 跨域请求之jQuery的ajax jsonp的使用解惑原文链接:http://www.cnblogs.com/know/archive/2011/10/09/2204005.html转载 2017-05-16 09:30:44 · 326 阅读 · 0 评论 -
前端常见跨域解决方案(全)
什么是跨域?跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。广义的跨域:1.) 资源跳转: A链接、重定向、表单提交2.) 资源嵌入:、、、等dom标签,还有样式中background:url()、@font-face()等文件外链3.) 脚本请求: js发起的ajax请求、dom和js对象的跨域转载 2017-09-24 13:17:52 · 354 阅读 · 0 评论 -
JavaScript的原型对象(prototype)——函数的&对象的
1、每个函数都有一个【prototype】属性,这个属性其实是个指针,指向的是该函数的原型对象,因此,我们可以通过这个属性设置和访问该函数的原型对象,如:function F() { this.name = "Xiao Ming";}F.prototype = { sayName : function() { return this.name; }};原创 2017-10-29 21:35:59 · 627 阅读 · 0 评论 -
基于原生JS(ES5)的鼠标移动(拖拽)HTML元素的插件(MoveElementJS)
查看&下载&使用说明地址:https://github.com/gonghongchen/moveElementJSDemo地址:https://gonghongchen.github.io/moveElementJS/热烈欢迎大家查看、下载、使用、Star、Issues。谢谢,非常谢谢!原创 2017-11-10 14:49:36 · 910 阅读 · 0 评论 -
JavaScript的回调函数内部this的指向问题以及四种绑定this指向的方法
1、常见回调函数内部的this指向问题 我们先看下面这段代码:var o = { age : 12, say : function() { function callback() { return this.age; } func(callback); }};function func(callbac原创 2017-10-25 17:50:30 · 17710 阅读 · 2 评论 -
JS中闭包的理解
概念:闭包,可以简单理解为定义在一个函数内部的函数。作用:实现函数外部语句通过函数内部的函数对该函数中的局部变量进行操作。示例:function a() {var b = 0;function c() {return b;}return c;}var e = a();console.log(e());原创 2017-01-14 10:42:17 · 436 阅读 · 0 评论