js
文章平均质量分 67
Mr_linjw
这个作者很懒,什么都没留下…
展开
-
几张动图带你回顾JS的变量提升
首先,看看mdn对它的解读:变量提升(Hoisting)被认为是, Javascript中执行上下文 (特别是创建和执行阶段)工作方式的一种认识。在 ECMAScript® 2015 Language Specification 之前的JavaScript文档中找不到变量提升(Hoisting)这个词。不过,需要注意的是,开始时,这个概念可能比较难理解,甚至恼人。我们可以理解成,在编译的阶段,js引擎帮我们把变量和函数的声明放在最前面,但实际上变量和函数声明在代码里的位置是不会动的。知道了个原创 2021-06-02 15:49:18 · 240 阅读 · 1 评论 -
JavaScript 部分基础知识点
JavaScript (JS)是一种编程语言,为通常用于客户端(client-side)的网页动态脚本,不过,也常通过像Node.js这样的包,用于服务器端(server-side)。今天,发一篇关于Js基础知识点的文章,为更多的新人指路。总会有人在你的前方为你探路,前行之路,你不孤单~ 目录 {:toc} 先来个目录结构───1、变量声明│└───JavaScript的数据类型分类和判断│└───引用类型和值类型───2、原型与原型链(继承)│└─...原创 2021-05-14 17:20:08 · 297 阅读 · 1 评论 -
Proxy与Object.defineProperty的优劣对比
Proxy的优势如下:Proxy可以直接监听对象而非属性Proxy可以直接监听数组的变化Proxy有多达13种拦截方法,不限于apply、ownKeys、deleteProperty、has等等是Object.defineProperty不具备的Proxy返回的是一个新对象,我们可以只操作新的对象达到目的,而Object.defineProperty只能遍历对象属性直接修改Proxy作为新标准将受到浏览器厂商重点持续的性能优化,也就是传说中的新标准的性能红利Object.definePro原创 2021-05-14 15:45:17 · 1129 阅读 · 0 评论 -
JS值传递、引用
JavaScript有5种基本的数据类型,分别是:布尔、null、undefined、String和Number。这些基本类型在赋值的时候是通过值传递的方式。值得注意的是还有另外三种类型: Array、Function和Object,它们通过引用来传递基本数据类型如果一个基本的数据类型绑定到某个变量,我们可以认为该变量包含这个基本数据类型的值。ar x = 10;var y = 'abc';var z = null;当我们使用=将这些变量赋值到另外的变量,实际上是将对应的值拷贝.原创 2021-04-06 11:19:50 · 199 阅读 · 0 评论 -
call、apply、bind三者的用法和区别
1. callcall、apply、bind都是改变this指向的方法fn.call当前实例(函数fn)通过原型链的查找机制,找到function.prototype上的call方法,function call(){[native code]}fn.call()把找到的call方法执行当call方法执行的时候,内部处理了一些事情1.首先把要操作的函数中的this关键字变为call方法第一个传递的实参2.把call方法第二个及之后的实参获取到3.把要操作的函数执行,并且.原创 2021-03-10 11:24:48 · 307 阅读 · 0 评论 -
JavaScript干货云集(持续更新)
数组去重的方法利用ES6 Set去重(ES6中最常用)function unique (arr) { return Array.from(new Set(arr))}var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];console.log(unique(arr)) //[1, "tr原创 2021-03-10 11:16:47 · 114 阅读 · 1 评论 -
JavaScript 中的异步原理
所谓“异步” ,简单说就是一个任务分成两段,先执行第一段,然后转而执行其他任务,等做好了准备,再回过头执行第二段。比如,有一个任务是读取文件进行处理,异步的执行过程就是下面这样。常见的浏览器无响应(假死),往往就是因为某一段 Javascript 代码长时间运行(比如死循环),导致整个页面卡在这个地方,其他任务无法执行。为了解决这个问题,Javascript 语言将任务的执行模式分成两种:同步( Synchronous )和异步( Asynchronous )。异步编程原理JavaSc.原创 2021-03-09 09:41:35 · 417 阅读 · 0 评论 -
JavaScript 规范
缩进使用soft tab(2个空格)。#分号以下几种情况后需加分号:变量声明 表达式 return throw break continue do-while#空格以下几种情况不需要空格:对象的属性名后 前缀一元运算符后 后缀一元运算符前 函数调用括号前 无论是函数声明还是函数表达式,'('前不要空格 数组的'['后和']'前 对象的'{'后和'}'前 运算符'('后和')'前 以下几种情况需要空格:二元运算符前后 三元运算符'?:'前后 代码块'{'前 下列关键字前:els原创 2021-03-08 11:14:07 · 632 阅读 · 0 评论 -
ES5中新增的Array方法详细说明
一、前言-索引ES5中新增的不少东西,了解之对我们写JavaScript会有不少帮助,比如数组这块,我们可能就不需要去有板有眼地for循环了。ES5中新增了写数组方法,如下:forEach (js v1.6)map (js v1.6)filter (js v1.6)some (js v1.6)every (js v1.6)indexOf (js v1.6)lastIndex转载 2018-01-04 11:51:25 · 461 阅读 · 0 评论 -
理解DOM事件流的三个阶段
事件流之事件冒泡与事件捕获在浏览器发展的过程中,开发团队遇到了一个问题。那就是页面中的哪一部分拥有特定的事件?可以想象画在一张纸上的一组同心圆,如果你把手指放在圆心上,那么你的手指指向的其实不是一个圆,而是纸上所有的圆。放到实际页面中就是,你点击一个按钮,事实上你还同时点击了按钮所有的父元素。开发团队的问题就在于,当点击按钮时,是按钮最外层的父元素先收到事件并执行,还是具体元素先收转载 2017-10-19 15:25:48 · 454 阅读 · 0 评论 -
Web开发:需收藏的JavaScript常用技巧
1、 JS防止复制oncopy=”return false;” oncut=”return false;”2、 IE 地址栏前换成自己的图标 rel=”Shortcut Icon” href=”favicon.ico”>在文件的根目录放进去这个图片,后缀修改成ico就可以了3、永远都会带着框架4、防止被人 frame5.网页将不能被另存为 ifram原创 2017-08-04 09:16:42 · 472 阅读 · 0 评论 -
html设置图片加载时、加载错误时显示的默认图
在js中有onload、onerror两个事件,可在图片中加入,修改对于的src地址,如下原创 2016-06-05 20:41:32 · 14027 阅读 · 4 评论 -
12个JavaScript技巧
使用!!操作符转换布尔值有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回true值。为了做这样的验证,我们可以使用!!操作符来实现是非常的方便与简单。对于变量可以使用!!variable做检测,只要变量的值为:0、null、" "、undefined或者NaN都将返回的是false,反之返回的是true。比如下面的示例:转载 2016-06-04 22:14:48 · 346 阅读 · 0 评论 -
C:\fakepath\文件路径问题
今天在做导入时,不论是什么路径上传的文件,路径都变成了"C:\fakepath\"+文件名的形式,查询了下,这是ie8下的安全设置问题。 以下就是操作步骤:工具 -> Internet选项 -> 安全 -> 自定义级别 -> 找到“其他”中的“将本地文件上载至服务器时包含本地目录路径”,选中“启用”即可。//附带不用修改浏览器安全配置的javascript代码,兼容转载 2015-11-20 11:10:23 · 2529 阅读 · 0 评论 -
JS实现密码加密
1、base64加密 在页面中引入base64.js文件,调用方法为:base64加密 var b = new Base64(); var str = b.encode("admin:admin"); alert("base64 encode:" + str); //解密 str转载 2015-11-04 09:41:32 · 704 阅读 · 0 评论 -
JSONP 跨域请求
JS跨域请求貌似只能用JSONP方式用jquery+ajax使用JSONP方式跨域请求数据(这里需要后台配合返回) $.ajax({ type : "GET", url : url, //请求链接 data : {loginName:"admin"} , dataType:'jsonp', //jsonp跨域请求 jsonp: 'call原创 2015-09-07 11:49:32 · 534 阅读 · 0 评论 -
concat,join详解-substr,substring详解
var rain = "c,s,s,r,a,i,n";function rel(str){ var r = rain.split(","); var s = ""; a = []; var rl = r.length-1; for(var i= rl;i>=0;i--){ s = s.concat(r[i],","); //concat得到的对象是根据调用它的对象决定的,转载 2014-05-23 14:11:45 · 1107 阅读 · 0 评论 -
sencha touch 添加类似phoneGap的android键盘监听事件
在phoneGap的android项目的主函数中添加键盘监听事件,再原创 2014-05-15 14:22:37 · 1433 阅读 · 0 评论 -
Eclipse环境下配置spket中ExtJS提示
使用eclipse编写extjs时,一定会用到spket这个插件,spket可以单独当作ide使用,也可以当作eclipse插件使用,我这里是当作eclipse的插件使用的,下面来一步步图解说明如何配置spket插件。第一步:下载spket插件由于spket插件是需要收费使用的,这里为了方便大家学习extjs,我附上spket插件破解版(支持extjs4.1)供大家下载,我的百度网转载 2014-07-24 10:28:18 · 631 阅读 · 0 评论 -
Web移动应用调试工具——Weinre
本调试方式需要wifi环境和webkit浏览器。weiner主页:http://people.apache.org/~pmuellr/weinre/docs/latest/Home.html一、配置调试服务器(一)、nodejs搭建调试服务器(以windows为例)1、安装node.js安装程序下载:http://nodejs.org/#download本文安装在“原创 2014-08-05 16:46:39 · 719 阅读 · 0 评论 -
JS创建类和对象
JavaScript 创建类/对象的几种方式在JS中,创建对象(Create Object)并不完全是我们时常说的创建类对象,JS中的对象强调的是一种复合类型,JS中创建对象及对对象的访问是极其灵活的。JS对象是一种复合类型,它允许你通过变量名存储和访问,换一种思路,对象是一个无序的属性集合,集合中的每一项都由名称和值组成(听起来是不是很像我们常听说的HASH表、字典、健/值对转载 2014-08-18 17:07:15 · 421 阅读 · 0 评论 -
addEventListener注意问题
document.addEventListener('touchmove', function(e) { e.preventDefault(); }, false); 但是有另外一个需求是需要将以上的'touchmove'恢复为默认的。开始我直接使用removeEventListener,但是不起作用。后来发现如果要让removeEventListener成功的话需要把里面fun原创 2014-05-13 12:09:17 · 3493 阅读 · 1 评论 -
js网页繁体简体转换
PHP类UTF8编码内的繁简转换-繁体-简体注意:非得加上html头 utf-8编码 其它编码无测试 代码实例:js网页繁体简体转换简体繁體 js网页繁体简体转换js网页繁体简体转换增值电信业务经营许可证(琼)B2-20060032号 文网文[2009]162号 网络视听许可证2110566号 (琼)-经营性-2005-0002转载 2015-03-17 15:05:34 · 9023 阅读 · 2 评论 -
正则表达式全字不区分大小写模糊匹配(EXT)
一下以EXT STORE 过滤为例子 store.clearFilter(false); store.filterBy(function(record){ // var re =new RegExp("^.*"+bar+".*$"); //默认区分大小写 var re =new RegExp("^.*"+bar+".*$", 'i'); //i表示不区原创 2015-04-16 11:28:28 · 4937 阅读 · 0 评论 -
强大的eval()
eval()只有一个参数。如果传入的参数不是字符串,它直接返回这个函数。如果参数是字符串,它会把字符串当成JavaScript代码进行编译,如果编译失败者抛出一个语法错误异常。如果编译成功,则开始执行这一段代码,并返回字符串中的最后一个表达式会或语句的值,如果最后一个表达式或语句没有值,则最终返回undefined。如果字符串抛出一个异常,这个异常将把该调用传递给eval()。关于ev原创 2014-08-13 11:28:10 · 1929 阅读 · 0 评论 -
jquery 上传图片
http-equiv="Content-Type"content="text/html; charset=UTF-8">type="text/javascript"src="http://www.phpddt.com/usr/themes/dddefault/jquery-1.4.2.min.js">type="text/javascript"src="ajaxfileup原创 2015-05-11 20:49:59 · 839 阅读 · 0 评论 -
Js设置服务器找不到图片时,显示一张默认图
function setDefaultImg(e){ e.src = basePath+"images/common/errorImg.png";}原创 2015-06-17 14:27:20 · 1371 阅读 · 0 评论 -
Extjs4布局layout
1.Layouts 1)Ext.layout.container.Border layout : 'border' 表示我们使用了Border布局,这种布局方式称为边界布局,它将页面分隔成为:west,east,south,north,center这五个部分,我们在items里面使用region参数为它组织定义具体的位置。 north和south部分只转载 2015-07-03 16:51:54 · 524 阅读 · 0 评论 -
sencha touch 实现android手机键盘对actionsheet的操作
思路:1、使用document.addEventListener("keydown",btChange,false);添加 一个键盘事件(该事件必须有一控件得到焦点)原创 2014-05-15 14:44:53 · 1257 阅读 · 0 评论