先声明鄙人正在努力的把脚抬进门来,说的都是比较粗浅的知识,但都是我实践中得出的体会,很深刻.  正在自学中挣扎的DOG. 先看段代码: function highlightRows() { if(!document.getElementsByTagName) return false; var tables = document.getElementsByTagName("table"); ;i<tables.length;i++){ var rows = tables[i].g…
javascript中10常用的个小技巧总结 本文转自:http://www.cnblogs.com/libin-1/p/6756393.html 1. new Set() 可能有人知道ES6中提供了新的数据结构 Set,但是能够灵活运用的人或许不多.利用Set数据结构我们能够轻松的去重一个数组,比如: let arr = [1, 2, 2, 3]; let set = new Set(arr); let newArr = Array.from(set); // Array.from方法可以将…
这篇文章主要介绍了JavaScript中字符串分割函数split用法,实例分析了javascript中split函数操作字符串的技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了JavaScript中字符串分割函数split用法.分享给大家供大家参考.具体如下: 先来看下面这段代码: <script type="text/javascript"> var str="How are you doing today?" document.write…
Javascript为我们提供了一个简单的方法来实现字符串的Base64编码和解码,分别是window.btoa()函数和window.atob()函数. 1 var encodedStr = window.btoa(“Hello world”); //字符串编码 2 var decodedStr = window.atob(encodedStr); //字符串解码 看下面的实例代码: <!DOCTYPE html> <html> <head> <title>…
1 为什么要使用原型? /* * javascript当中 原型 prototype 对象 * * */ //首先引入 prototype的意义,为什么要使用这个对象 //先来写一个构造函数的面向对象实例 function Person(name ){ this.name = name; this.show = function(){ return this.name; }; } //实例化两个对象 p1 = new Person("a"); p2 = new Person("…
以前一直认为window.opener只有在window.open方法打开下的窗口才可以访问,没想到即使是a链接打开的页面的照样可以访问.window.opener指向父窗口,也就是来源窗口.可以利用window.opener获取来源页面location.href信息等,也可以操作来源 页面的DOM,十分强大 但下面的情况,window.opener的值为null 1,跨域的情况如果是www.a.com/1.html链接到www.b.com/2.html,这种情况会丢失2,利用的javascri…
在进行DOM优化时需要关注的问题有:修改DOM的时候,会引起页面的重排,重绘.因为JS是单线程执行的,那么在重排重绘的过程中可能会阻塞用户的操作.为了更好的用户体验,必须要严格控制这些操作. 一.对象集合 NodeList 当我们调用:getElementsByTagName,getElementsByName,getElementsByClassName的时候,返回的结果是一个NodeList,这个NodeList是实时的.如果你修改对应的html,那么NodeList中也会得到修改. 而且,…
今天在学习input的value值时,发现这么一个小知识点,以前理解不太透彻 [1]以下这种情况是常见情况,会弹出“测试内容” <input type="button" value="测试内容" onclick = "alert(value)"> [2]心想,这种情况下value找不到,沿着作用域链应该到document了,应该弹出“123",但情况是弹出空 <script> var value=123; <…
如果你还是新手, 而且读完所有这些技巧的详解和每种技巧是如果工作的以后运用它们, 你会写出更加简练高效的JavaScript程序. 确实, JavaScript高手已经运用这些技巧写出了很多强大, 高效的JavaScript程序. 但是你可以这样. 强大的 && 和 || 表达式你可能在JavaScript库和JavaScript框架中已经见过它们了, 那么我们先由几个基本的例子开始: 例子1. || (或)设置默认值, 通常用 代码如下: function documentTitle(t…
今天测试人员发现一个问题,从英文日期转化中文日期,月份总会有“6月”变为“7月”.于是我在本地反复测试,发现如下规律:只要setMonth()的参数为小于31天的月份时就会变为下一个月. 原因是:因为当前月份是31天,而设置的月份小于31天,就会把日期顺延.在setMonth的说明是这样的: setMonth 方法 设置 Date 对象中用 本地时间表示的月份值. dateObj.setMonth(numMonth[, dateVal]) 参数 dateObj 必选项.任意 Date 对象. n…
(1)clean var arr = [1,2,null,3,'']; alert(Ext.Array.clean(arr)); //clean的对象:(value === null) || (value === undefined) || (!allowEmptyString ? value === '' : false) || (Ext.isArray(value) && value.length === 0) //结果为1,2,3 (2)difference //difference…
从零开始讲解JavaScript中作用域链的概念及用途 引言 正文 一.执行环境 二.作用域链 三.块级作用域 四.其他情况 五.总结 结束语 引言 先点赞,再看博客,顺手可以点个关注. 微信公众号搜索[Lpyexplore的编程小屋],关注我,带你在python爬虫的过程中学习前端 之前我写过一篇关于JavaScript中的对象的一篇文章,里面也提到了作用域链的概念,相信大家对这个概念还是没有很深的理解,并且这个概念也是面试中经常问到的,因为这个概念实在太重要了,在我们平时写代码时,也可能会因…
函数的定义 在javascript中函数是一段可以被执行或调用任意次数的JavasScript代码,在数据类型中属于"function".函数也拥有属性和方法,因此函数也是对象. 函数的创建方法 创建函数可以通过函数声明.函数表达式以及构造函数三种方法来实现. 在Javascript中函数定义函数声明或函数表达式由关键字function开始,其后跟随这些组成部分: 1.函数名称标识符.函数名称是函数声明语句必须的部分.它的用途就像变量的名字,新定义的函数对象会赋值给这个变量.对函数定义…
javascript中有5中数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number和String,还有一种复杂数据类型——object,object本质是由一组键值对组成的. typeof操作符:用于检测给定变量的数据类型,对一个值试用typeof操作符可能返回下列某个字符串: ♦ “undefined”——表示值未定义: ♦ “boolean”——表示值是布尔值 :♦ “string”——表示值是字符: ♦ “number”——表示值是数值:  ♦ “obj…
首先,我们需要明白什么是深复制(侧重指对象方面)? 在javascript中,复制分为浅复制和深复制,个人理解,浅复制就是直接将引用复制,复制前后的两个对象指向同一个内存地址,对其中一个进行操作,另外一个也会发生同样的改变,他们只是不同的指针指向了同一块内存. 而深复制是开辟了一个新的内存地址,把其内容完完全全的复制到这个新的内存地址中,之后对这个对象的任何操作都不会影响到其复制的对象(既两边的操作都不会影响彼此),他们成了两个完全独立的对象. 那么如何实现所谓的深复制呢?   可以通过遍历+递…
目录 常见错误一:对于this关键词的不正确引用 常见错误二:传统编程语言的生命周期误区 常见错误三:内存泄露 常见错误四:比较运算符 常见错误五:低效的DOM操作 常见错误6:在for循环中的不正确函数调用 常见错误7:原型继承问题 常见错误8:为实例方法创建错误的指引 常见错误9:用字符串作为setTimeout 或者 setInterval的第一个参数 常见错误10:忽略 “strict mode”的作用 结语 在今天,JavaScript已经成为了网页编辑的核心.尤其是过去的几年,互联网…
序言 在今天,JavaScript已经成为了网页编辑的核心.尤其是过去的几年,互联网见证了在SPA开发.图形处理.交互等方面大量JS库的出现. 如果初次打交道,很多人会觉得js很简单.确实,对于很多有经验的工程师,或者甚至是初学者而言,实现基本的js功能几乎毫无障碍.但是JS的真实功能却比很多人想象的要更加多样.复杂.JavaScript的许多细节规定会让你的网页出现很多意想不到的bug,搞懂这些bug,对于成为一位有经验的JS开发者很重要.   常见错误一:对于this关键词的不正确引用 我曾…
在 Chrome 浏览器,大家可能遇到这样一个小问题. 随便输入一个 Object 对象  ,比如 {Name:'王尼玛',Age:20} ,将会报错.之前,也从来没去考虑过到底是为啥原因. 今天,刚好看到博客园有博友文章,顺便记录一下.( 直接输入 {Name:'王尼玛',Age:20},会将其以代码块情形进行处理) 在 JavaScript 中, : 有三种作用,想必大家都知道,其一  三元表达式  true? A:B,其二 在 switch case 中 case 语句中会用到,其三 就是…
1.之前在度娘那找了一下关于javascript中可处理的浮点数的最高精度的问题,但找了好久也找不到,于是自己 小小的研究了一下,之前以为是17,后来测到18,再后来又测到19,经过一系列的改写,得到下面的相对完善的检测方案: <script> //返回数字数组中的最大值 function arrMax(arr) { return Math.max.apply({}, arr); } //10万个随机小数中的最大精度 function maxDec() { var arr = []; var…
函数的定义 首先在javascript中,函数就是对象,程序可以随意操控它们.比如,可以给它们设置属性,甚至调用它们的方法.函数使用function关键字来定义.它既可以用在函数定义表达式,也可以用在函数声明语句中.函数声明function后面必须要更上函数名称也就是所谓的函数名称标识符.如果是函数表达式函数名称标识符可有可无.这段重点是函数是对象,所以函数表现出来的种种行为你想想成对象,那么很多疑惑可能就恍如昨日初见. 函数调用 4种方式来调用javascript函数: 1.作为函数 就是函数…
10天没有写博客了,不知道为什么,心里感觉挺不舒服的,可能这是自己给自己规定要去完成的事情,没有按照计划执行,总会心里不怎么舒服.最近事情挺多的,终于今天抽空来更新一下博客了. 今天写的是一个小插件.平时我们习惯于使用javascript中自带的confirm()函数做出一个弹窗的效果,但是问题在于这样的弹窗非常不美观,大大降低了网页的整体效果. 好吧废话不多说,首先先来了解一下confirm()函数,下面应该注释得很清楚了. if(confirm("我们去阿里转山吧,好吗?")){/…
"this"关键字是JavaScript中广泛应用的一种特性,但它经常也是这门语言中最容易混淆和误解的特性.那么"this"的实际意义是什么?它是如何求值的? 这里我把 this 出现的场景分为四类,简单的说就是: •  普通函数调用 •  作为方法来调用 •  作为构造函数来调用 •  通过 apply 或 call 方法来调用 下面我们分别举例说明一下: 1)作为普通函数调用时 <script type="text/javascript"…
前言 在前端日常开发过程中,if else判断语句使用的次数应该是比较频繁的了,一些较为复杂的场景,可能会用到很多判断,在某个代码块使用很多if else时,代码会显得较为冗余,阅读起来不够清晰. 除了if else,在开发过程中,还经常使用 逻辑运算符 && || 以及三木运算符? : 等. if else 基本使用 let name = "zhangsan"; if (name === "zhangsan") { console.log(&quo…
javaScript中var是很神奇的,在局部作用域中,var a = b = c = 1;是不一样的,a为使用var声明的变量,而b和c则是全局下的,此类变量被称为隐式全局变量:var a = 1;b = 1; c = 1;分号分隔开的就很好理解了,使用var则为局部,未使用则为全局:var a = 1,b = 1,c = 1; 此种声明方式则是共用一个var,所以都是局部的: 此外,在函数中使用var声明的变量就是局部变量是不准确的,如果自身是函数,父级还是函数,那么在父级中var声明的变量…
别怪我是一个闷葫芦,没那么多花哨的语言,废话不多说,先说说小实例的要求: 编写一个方法,实现从n-m个数中随机选出一个整数,要求:传递的参数不足两个或者不是有效数字,返回[0-1]之间的随机数,需要解决n和m两个数大小问题,如果m<n,两个参数的值进行交换: 看到这个求随机数的小实例,相信很多人都会写,也写过很多相关的程序代码,所以,重要的知识点没有,旨在给初学者一些启发,大牛可略过! 既然是给初学者看的,那么我们就从最基本的东西一步一步的看,便于理解,先拆分一下要求吧: 1.求一个n-m的随机…
前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型 前言(题外话): 有人说拖延症是一个绝症,哎呀治不好了.先不说这是一个每个人都多多少少会有的,也不管它究竟对生活有多么大的影响,单单是自己的念想受到了一定得局限,想法不能够像平地而起的高楼大厦建成一样.可是那大楼也是有烂尾的呀,我觉得最重要的还是外在环境与个人观念的先决条件,决定了拖延症的症状的好坏,有那么一些人,它也有拖延症,但是它在拖的中间,想的更多,看的更远.事情在做的时候更加有条不紊,这拖延症这样看来,它也是好…
对于javascript的初学者来说,一般对“this”关键字都感到非常迷惑.本文的目的旨在让你全面的了解“this”,理解在每一个情景下如何使用“this”,希望通过本文,可以帮助同学们不在害怕“this”!! 从生活中发现 其实“this”就是我们平时用的一个代词.打个简单的比喻: “小豆豆是一个很幽默的人,他非常喜欢看<暴走漫画>” 但是你也可以这样写: “小豆豆是一个很幽默的人,小豆豆非常喜欢看<暴走漫画>” 但是日常生活中我们会一直用这种方式来描述一个人吗?如果你的回答是…
前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array是前端必修的功课.周五啦,博主的心又开始澎湃了,明儿个周末有木有,又可以愉快的玩耍了. 创建数组 创建数组的基本方式有两种,一种字面量,另一种使用构造函数创建: var arr = [1,2,3]; //字面量的形式创建数组 值与值之间用英文逗号隔开 var arr1 = new Array(1,2…
× 目录 [1]焦点元素 [2]获得焦点 [3]失去焦点[4]焦点事件 前面的话 焦点作为javascript中的一个重要功能,基本上和页面交互都离不开焦点.但却少有人对焦点管理系统地做总结归纳.本文就javascript中的焦点管理作详细介绍 焦点元素 到底哪些元素可以获得焦点呢?默认情况下,只有表单元素可以获得焦点.因为只有表单元素可以交互 <input type="text" value="223"> 让非表单元素获得焦点也是有办法的,先将tabI…
Javascript中的闭包 前面的话: 闭包,是 javascript 中重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,你很难从定义去理解它.下面是作者从作用域链慢慢讲到闭包以及在后面提到了一些闭包的高级用法.下面大家一起来学习Javascript中的闭包. 谈一谈JavaScript作用域链 当执行一段JavaScript代码(全局代码或函数)时,JavaScript引擎会创建为其创建一个作用域又称为执行上下文(Execution C…