
js
文章平均质量分 65
js
xiaokanfuchen86
这个作者很懒,什么都没留下…
展开
-
javascript:void(0)
它的主要作用是防止链接的默认行为(例如跳转到一个新页面或刷新当前页面),同时又可以执行一些Javascript代码。虽然javascript:void(0)可以有效防止页面跳转,但在现代开发中,通常建议使用href="#"或者不使用href属性,并通过JavaScript事件处理程序来控制行为,以提高可访问性和用户体验。1.防止页面跳转:当您希望一个链接执行某些Javascript操作,但又不希望页面跳转或刷新时,可以使用javascript:void(0)在这个例子中,return false;原创 2024-10-05 15:21:03 · 3740 阅读 · 0 评论 -
一文解读exports、module.exports 和 export、export default
module.exports 模式下,module.exports 和 exports 的内容是完全不同的,module.exports 导出的是模块(hello.js)对象本身(类别Java,可以理解为导出的是一个类,而不是实例化的对象),在此场景下 exports 是空的(类比Java,理解为一个空对象,没有实例化就是null)。exports 对象是由模块系统创建的。exports 和 module.exports 的内容是完全一样的,换言之:exports 指向的是 module.exports。转载 2024-08-24 19:45:13 · 1969 阅读 · 0 评论 -
js中 给json对象添加属性和json数组添加元素
js中 给json对象添加新的属性比如现在有一个json对象为jsonObj,需要给这个对象添加新的属性newParam,同时给newParam赋值为pre。做法如下:varjsonObj={ 'param1':22, 'param2' :33};jsonObj. newParam ='pre';新的属性添加以后,json对象变成:varjsonObj={ 'param1':22, 'param2' :33,...转载 2022-03-22 22:31:10 · 14762 阅读 · 1 评论 -
JS - 实现重载
JS中实现重载javascript不能支持函数的重载,如下:代码如下:<script language="JavaScript"> function f(length) { alert("高为:"+length); } function f(length,width) { alert("高为:"+length+",宽为:"+width); } </srcipt>上面那段代码其实是行不通的,因为函数定义时的参数个数和函数调用时的参转载 2022-03-06 16:09:49 · 398 阅读 · 0 评论 -
setInterval 回调函数传参数
关于setInterval方法的详细用法可以参阅JavaScript setInterval()一章节。其实在上述文章也涉及到为回调函数传参数,不过很多朋友关注点在传参本身。下面就通过代码实例介绍一下如何为回调函数传参数。一.错误传参方式举例:下面看一个比较常见的错误传参方式,代码实例如下:[JavaScript] 纯文本查看 复制代码运行代码 1 2 3 4 function func(){ console....转载 2021-01-20 20:37:49 · 6211 阅读 · 0 评论 -
用jquery的ajax方法获取不到return返回值
如果jquery中,获取不到ajax返回值。两个错误写法会导致这种情况:1.ajax未用同步 2.在ajax方法中直接return返回值。下面列举了三种写法,如果想成功获取到返回值,参考第三种写法:1 /** 2 * 方式:(1)同步调用 (2)在ajax函数中return值 3 * 结果:返回 1。未成功获取返回值 4 * 失败原因:ajax内部是一个或多个定义的函数,ajax中return返回值, 5 * 返回到ajax定义函数,而不是返回到ajax外层的函数checkA转载 2021-01-18 20:49:41 · 156 阅读 · 0 评论 -
ES6扩展运算符...运用之合并对象
<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title></title><script type="text/javascript"> var stu = { name:'liujie', age:30 }; var...原创 2020-09-10 16:18:10 · 1003 阅读 · 0 评论 -
Lodash中的_.cloneDeep(value) 深拷贝和_.clone(value) 浅拷贝
Lodash是一个一致性、模块化、高性能的 JavaScript 实用工具库。_.cloneDeep(value)这个方法类似_.clone,除了它会递归拷贝value。(注:也叫深拷贝)。参数: value(*): 要深拷贝的值。返回: (*): 返回拷贝后的值。例子: var objects = [{ 'a': 1 }, { 'b': 2 }]; var deep = _.cloneDeep(objects); ...转载 2020-08-25 20:25:32 · 7937 阅读 · 0 评论 -
Jest
1. 介绍Jest是 Facebook 的一套开源的 JavaScript 测试框架, 它自动集成了断言、JSDom、覆盖率报告等开发者所需要的所有测试工具,是一款几乎零配置的测试框架。2. 安装通过 npm 添加依赖: npm install --save-dev jest babel-jest babel-core babel-preset-env regenerator-runtimebabel-jest、 babel-core、 regenerator-runtim.转载 2020-08-22 12:51:38 · 100 阅读 · 0 评论 -
JS中typeof的用法
js是一门弱语言,它在声明变量时无需确定变量的类型,js在运行时会自动判断。那么如何判断一个变量的类型呢,js提供了typeof运算符,用来检测一个变量的类型。1. typeof的语法 typeof是一个运算符,有2种使用方式:typeof(表达式)和typeof 变量名,第一种是对表达式做运算,第二种是对变量做运算。2. typeof的返回值 typeof运算符的返回类型为字符串,值包括如下几种: 1. 'undefined' ...转载 2020-05-15 21:10:38 · 378 阅读 · 0 评论 -
js中的||与&&用法
&&和||在JQuery源代码内尤为使用广泛,由网上找了些例子作为参考,对其用法研究了一下: &&function a(){ alert("a"); return true;}function b(){ alert("b"); return true;}var c=a()&&b();alert(c); a() && b() :如果执行a()后返回true,则执行b(.转载 2020-05-15 21:04:36 · 202 阅读 · 0 评论 -
关于 JSON.parse(JSON.stringify(obj)) 实现深拷贝的一些坑
在js中,怎么用一行代码实现深拷贝?它可以实现: JSON.parse(JSON.stringify(obj))。这行代码的运行过程,就是利用 JSON.stringify 将js对象序列化(JSON字符串),再使用JSON.parse来反序列化(还原)js对象;序列化的作用是存储和传输。(对象本身存储的是一个地址映射,如果断电,对象将不存在,所以要将对象的内容转换成字符串的形式再保存在磁盘上)不过,这种实现深拷贝的方法有局限性,它只适用于一般数据的拷贝(对象、数组),有以下情况需要注意:1.如果j转载 2020-05-15 20:38:42 · 2574 阅读 · 0 评论 -
闭包与立即执行函数
在学习js的过程中,我们都会遇到闭包和立即执行函数的相关概念,今天就这两个概念做一个大致的整理。本文结构:闭包 闭包的概念 立即执行函数 什么是立即执行函数 一个经典面试题 es6 中的 let 一、闭包我们先来看闭包的作用:闭包通常用来创建内部变量,使得这些变量不能被外部随意修改,同时又可以通过指定的函数接口来操作。对于不理解闭包的朋友来说,上面这句话并没...转载 2020-05-02 13:29:35 · 336 阅读 · 0 评论 -
对象增强写法
在ES6中,对对象字面量进行了很多增强属性初始化简写和方法的简写1.属性的简写//ES6之前let name = "why"let age = 18let obj1 = { name:name, age:age}console.log(obj1);//ES6之后let obj2 = { name,age}c...原创 2020-04-30 18:58:03 · 568 阅读 · 0 评论 -
$.extend()使用
1. jquery.extend(), 为jQuery类添加类方法例子1image.png例子2image.png调用直接用$.类名image.png2. jquery.extend(), 将两个或更多对象的内容合并到第一个对象。image.png当我们提供两个或多个对象给$.extend(),对象的所有属性都添加到目标对象(target参...转载 2020-04-26 19:07:59 · 342 阅读 · 0 评论 -
理解jquery的$.extend()、$.fn和$.fn.extend()
jQuery为开发插件提拱了两个方法,分别是:jQuery.fn.extend();jQuery.extend();·jQuery.fnjQuery.fn = jQuery.prototype = { init: function( selector, context ) {//….//……};原来 jQuery.fn = jQuery.prototype.对pro...转载 2020-04-26 19:05:14 · 103 阅读 · 0 评论 -
收藏夹
vue中props传值,父组件向子组件传递对象可以直接修改的问题https://www.cnblogs.com/pangchunlei/p/12110869.html前端基础JS——input输入框的oninput事件和onchange事件https://blog.csdn.net/WXY19951125/article/details/84871276setti...原创 2020-04-23 17:23:11 · 406 阅读 · 0 评论 -
如何将字符串转换为JavaScript函数调用
下面是一种更通用的方法,在支持作用域的同时,也可以这样做://Getfunctionfromstring,withorwithoutscopes(byNicolasGauthier)window.getFunctionFromString=function(string){varscope=window;varscopeSplit=...原创 2020-04-22 19:58:07 · 626 阅读 · 0 评论 -
对象中的对象名[ ' 属性名 ' ] 和 对象名.属性名的区别
这里是很显而易见的!然后我们用for in 对他进行遍历,他的区别就出来了。转载 2020-04-22 19:55:33 · 2567 阅读 · 0 评论 -
JQuery 实现文件下载
GET方式window.location.href = url;POST方式 var url = "http://127.0.0.1:8080/candidate/exceldownload"; // 构造隐藏的form表单 var $form = $("<form id='download' style='display: none' method='post'&...转载 2020-04-02 19:57:13 · 1996 阅读 · 0 评论 -
es6语法(对象解构语法与箭头函数)
变量的解构赋值<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>03_变量的解构赋值</title></head><body><!--1. 理解: * 从对象或数组中提取数据, 并赋...原创 2020-03-30 22:25:00 · 377 阅读 · 0 评论 -
JS中的call、apply、bind方法
JS中的call、apply、bind方法一、call()和apply()方法1.方法定义call方法:语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]])定义:调用一个对象的一个方法,以另一个对象替换当前对象。说明:call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisO...转载 2020-03-29 20:45:09 · 136 阅读 · 0 评论 -
JavaScript中的伪数组和数组
伪数组和数组在JavaScript中,除了5种原始数据类型之外,其他所有的都是对象,包括函数(Function)。对象与数组的关系在说区别之前,需要先提到另外一个知识,就是 JavaScript 的原型继承。所有 JavaScript 的内置构造函数都是继承自 Object.prototype 。在这个前提下,可以理解为使用 new Array() 或 [] 创建出来的数组对象,都...转载 2020-03-29 20:24:53 · 273 阅读 · 1 评论 -
javascript中的伪数组
什么是伪数组假如有这样一段代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <ul id = 'ul...转载 2020-03-29 20:14:35 · 227 阅读 · 0 评论 -
ES6新语法
解构赋值ES6中允许从数组中提取值,按照对应位置,对变量赋值。对象也可以实现解构。数组解构 let [a, b, c] = [1, 2, 3]; console.log(a) console.log(b) console.log(c) 如果解构不成功,变量的值为undefined。let [foo] = []; let [bar, foo] = [1];...原创 2020-03-08 17:05:50 · 165 阅读 · 0 评论 -
按钮不同方式绑定事件this指向
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <script> </script> <style type="text/css"&g...原创 2020-03-08 15:29:46 · 483 阅读 · 0 评论 -
深入浅出Object.defineProperty()
讲解大致会根据下图展开本文部分参考了书籍《你不知道的javascript》上卷对象的定义与赋值经常使用的定义与赋值方法obj.prop =value或者obj['prop']=valueObject.defineProperty()语法说明Object.defineProperty()的作用就是直接在一个对象上定义一个新属性,或者修改一个已经存在的属性...转载 2020-03-07 22:22:40 · 101 阅读 · 0 评论 -
工厂方法创建对象和构造函数方式创建对象
1. 使用工厂方法创建的对象 <script type="text/javascript"> /* * 创建一个对象 */ var obj = { name:"孙悟空", age:18, gender:"男", sayName:function(){ alert(this.name); ...原创 2020-03-07 20:34:37 · 226 阅读 · 0 评论 -
ES6几大特性,让你的代码更优美
1.DefaultParameters(默认参数)inES6还记得我们以前不得不通过下面方式来定义默认参数:var link = function (height, color, url) { var height = height || 50; var color = color || 'red'; var url = url || 'http://...转载 2020-03-03 10:43:35 · 214 阅读 · 0 评论 -
JavaScript 对象声明null与{}的区别
在声明对象的时候 1 2 3 var a = {} 与 var a = null 有什么区别?补充:在开发中推荐使用哪种声明那?1. {}:我是一个一无所有的对象2.null:这里本该有个对象,但是没有3.undefined:这里不该有任何值 1 2 3 4 5 ...转载 2020-03-01 16:05:23 · 517 阅读 · 0 评论