最近在开发一个浏览器插件,需要抓取掌中云平台的数据,由于该平台的页面结构是采用iframe嵌套的方式加载的, 所以在添加事件的时候遇到了一点小麻烦,现特此将解决方法记录如下,以供大家复制粘贴。...alert('此处应有掌声'); } } } },500); }; // user_name为触发事件元素的class
JavaScript JavaScript 是什么 JavaScript 是一种编程语言。 人与人沟通的语言称为自然语言,人与计算机沟通的语言称为编程语言。...世界上有成千上万种的编程语言,如 Python,Java,Go,Lisp 等。JavaScript 是其中的一种。JavaScript 简称为 JS。 程序是指用编程语言写的,给计算机执行的文本。...—— Atwood定律 最初,JavaScript 只能在浏览器中运行。...有些手机应用中是内置浏览器的,这些应用这也运行着 JavaScript。 JavaScript 的语言特点 JavaScript 写法很灵活。 JavaScript 是一种面向对象的动态语言。...程序的核心 程序的核心的是数据和操作数据。 有一个网站的登录页面,用户输入用户名和密码,点击登录按钮,登录。在这个过程中,程序做的是,获取用户输入的用户名和密码,向服务器查询结果。
在JavaScript内置对象中,有一个很Date对象,它专门用来获取设置日期。 当然自带的方法也很多,这里不一一讲解列举,想回顾的可以移步菜鸟教程:JavaScript Date 对象。...但遇到月末那一天,第二天就应该是1号,这就需要通过月份分别取判断,也可以做,但有点繁琐,这里就不给出了。...设置日期为上个月15号 如果是想设置当前月的日期,比较简单,直接调用setDate()方法,参数写入要设置的日期就可以了。但若是想设置上个月的指定日期,我们就需要先让Date对象月份变成上个月。...// 注意,此处是因为在第3步骤中,变量d的月份已经变成了上个月,所以此处再设置15号,就变成了上个月15号 console.log(d); // Sat Dec 15 2018 15:38:31...GMT+0800 (中国标准时间) 注意:在setDate()方法中,写入参数大于月份最大天数,会自动顺移到下个月的日期。
for_in 用于遍历对象中包括原型链上的所有可枚举的(enumerable)的 key,本来不是为遍历数组而存在。...使用 for_in 遍历数组有三点问题: 1.遍历顺序不固定 JavaScript 引擎不保证对象的遍历顺序。当把数组作为普通对象遍历时同样不保证遍历出的索引顺序。...3.运行效率低下 尽管理论上 JavaScript 使用对象的形式储存数组,JavaScript 引擎还是会对数组这一非常常用的内置对象特别优化。...不要用 arr.map 代替 arr.forEach 也是一个 JavaScript 初学者常常犯的错误,他们往往并没有分清和的实际含义。...前者万能,效率最高,可就是写起来比较繁琐——它不能直接获取到数组中的值。
前言 从我们接触前端起,第一个熟悉的存储相关的Cookie或者来分析我们生活中密切相关的淘宝、物流、闹钟等事物来说起吧, ?...Cookie从你设置的时候,就会给个时间,不设置默认会话结束就过期; 淘宝购物 从你下单付款起,就会给这件货物设置一个收货期限时间,过了这个时间自动认为你收货(即订单结束); 闹钟 你设置的提醒时间,其实也就是它的过期时间...; 再比如与您每天切身相关的产品需求,过完需求,你给出的上线时间,也就是这个需求的过期时间; 再通俗点讲,您今年的生日过完到明年生日之间也是相当于设置了有效期时间; 以上种种,我们能得出一个结论任何一件事...、一个行为动作,都有一个时间、一个节点,甚至我们可以黑localStorage,就是一个完善的API,为什么不能给一个设置过期的机制,因为sessionStorage、Cookie并不能满足我们实际的需求...思路 问题就简单了,给localStorage一个过期时间,一切就都so easy ?
content {:toc} 本文为慕课网 JavaScript深入浅出 JavaScript 中的 this笔记。...全局的 this 全局 this 一般指向全局对象,浏览器中的全局对象就是 window。...independent() { return this.prop; } o.f = independent; console.log(o.f()); // 37 上面的代码,创建了对象 o,但是没有给对象...这样这个方法中的 this 同样也指向这个对象 o。...MyClass() 的时候,MyClass()中的 this 会指向一个空对象,这个对象的原型会指向 MyClass.prototype。
变幻莫测的 this 在JavaScript中,this的指向变幻莫测。...如果函数中包含多个对象,尽管这个函数是被最外层的对象所调用,this指向的也只是它上一级的对象。...总结:this永远指向的是最后调用它的对象,也就是看它执行的时候是谁调用的 严格模式 在严格模式中,this的指向稍有不同 'use strict'; var name = 'window'; var...此时仅仅只是创建,并没有执行,而调用这个函数Fn的是对象a,那么this指向的自然是对象a。 this 与 return 如果 new 出来的对象中return一个新对象的时候,情况会有所不同。...this.name = 'Leo'; return function(){}; } var a = new Fn; console.log(a.name); //undefined JavaScript
作者: CarterLi 原文:https://segmentfault.com/a/1190000012730162 上篇说了一些 JS 中数组操作的常见误区,这次来总结一下初学者常见的其他易错点。...数据库中的主键通常是一个自增长的长整型数,有可能会超出 JS 的安全整数范围,这时请考虑使用字符串传输。...而 new Date('2018/01/01') // => "2018/1/1 00:00:00" 包括 IE 8 在内所有浏览器 所以对于日期字符串,请注意字符串中是使用横杠还是斜杠。...给用户传入的对象填充默认值是很常见的行为,他们总是随手就写: config.prop1 = config.prop1 || 233; config.prop2 = config.prop2 || 'balabala...你可以搞个全局的函数简化这一操作,或者考虑使用 lodash 的 defaults 方法 觉得本文对你有帮助?请分享给更多人。
作者: CarterLi 原文:https://segmentfault.com/a/1190000012730162 上篇说了一些 JS 中数组操作的常见误区,这次来总结一下初学者常见的其他易错点。...数据库中的主键通常是一个自增长的长整型数,有可能会超出 JS 的安全整数范围,这时请考虑使用字符串传输。...而 所以对于日期字符串,请注意字符串中是使用横杠还是斜杠。对于横杠可以考虑将 替换成 ,或者补全完整的带时区的 ISO8601 字符串。考虑到负数时区的问题,不推荐将小时数清零的做法。...给用户传入的对象填充默认值是很常见的行为,他们总是随手就写: 的意思是:如果expr1能转换成true则返回expr1,否则返回expr2 哪些值不能转换为 true 呢?...你可以搞个全局的函数简化这一操作,或者考虑使用 lodash 的 defaults 方法 觉得本文对你有帮助?请分享给更多人。 关注「程序员宝库」公众号,直接获取各种编程资料!
函数就是 JavaScript 中可以被执行的代码块。函数有如下必备部分: 1. 使用 function 关键字声明; 2. 函数名字紧跟其后,它就是被调用时使用的名字。 3....你可以给函数传递参数,那些值可以是动态的。 4. 形参传递给函数的实参。 5. 当函数被调用时,代码块将会被执行。 6. 代码块是被中括号包裹的。...中函数的种类 函数声明 当你使用 function 关键字声明了一个函数并且没有赋值给其他变量,这就是函数声明: function greet(firstName = "new", lastName...函数声明在其他代码执行之前被加载,然而函数表达式只有等到 JavaScript 解释器执行到所在代码行时才被加载。这就是 JavaScript 中 hoisting[1] 的原理。...,它们没有与 this、arguments、super、new.target,我们将在接下来的 JavaScript 文章中温习这写概念。
一、日期格式化 1、获取年 - getFullYear 调用 Date.prototype.getFullYear() 方法 可以获取指定日期的年份 ; Date 是 JavaScript 的内置对象..., 用于处理日期和时间 ; prototype 是 JavaScript 中 每一个对象都有一个 prototype 属性 , 该属性 是 指向原型对象的指针 , 原型对象 包含可以由特定类型的所有实例共享的属性和方法...console.log(date.getFullYear()); 执行结果 : 2、获取月 - getMonth 调用 Date.prototype.getMonth() 方法 可以获取指定日期的月份...; 获取的是一个 0 ~ 11 之间的数值 , 0 表示 1 月 , 11 表示 12 月 ; 参考 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript...()); 这个月是 4 月 , 调用 Date 对象的 getMonth 方法 , 输出的日期的月份是 3 ; 3、获取每月的第几天 - getDate 调用 Date.prototype.getDate
对象 JavaScript 中的对象,Object,可以简单理解成“名称 - 值”对(而不是键值对:现在,ES 2015 的映射表(Map),比对象更接近键值对),不难联想 JavaScript 中的对象与下面这些概念类似...: Python 中的字典(Dictionary) Perl 和 Ruby 中的散列/哈希(Hash) C/C++ 中的散列表(Hash table) Java 中的散列映射表(HashMap) PHP...中的关联数组(Associative array) 这样的数据结构设计合理,能应付各类复杂需求,所以被各类编程语言广泛采用。...正因为 JavaScript 中的一切(除了核心类型,core object)都是对象,所以 JavaScript 程序必然与大量的散列表查找操作有着千丝万缕的联系,而散列表擅长的正是高速查找。...“名称”部分是一个 JavaScript 字符串,“值”部分可以是任何 JavaScript 的数据类型——包括对象。这使用户可以根据具体需求,创建出相当复杂的数据结构。
在调用f().c()以后,f没有被其他资源,被立即释放,即f().c()以后被GC;
在平时的代码中,相信大家经常用到 this,可是你真的明白此 this 真的是你认为的 this 吗?...今天柚子君总结了一下平时用到的 this 的场景,大家走过路过不要错过啊~ 首先咱们先来看一下《JavaScript 高级程序设计》上是怎么说的。...举手: 上面说到了,this 指向的是最后调用它的对象,第一步是赋值给了 testHandler,最后执行的那一句相当于 window.testHandler()。...关于 this 的使用和体会还是要在平时运用中理解,先了解其原理,那么在使用的时候就如鱼得水啦。...---- 往期精选文章 一小时内搭建一个全栈Web应用框架 全栈工程师技能大全 一个治愈JavaScript疲劳的学习计划 推翻JavaScript中的三座大山:作用域篇 掌握Chrome开发工具:新一代前端开发技术
要了解和分析JavaScript中的数据结构,请看JavaScript中的数据结构:https://github.com/lvwxx/blog/issues/1 Primer 在JavaScript中,...当解决方案的具体结构开始出现时,伪代码就可以开始了。为了给面试官留下深刻印象,请提前寻找重构和重用代码的机会。有时,行为相似的函数可以组合成一个更通用的函数,该函数接受一个额外的参数。...在JavaScript中,没有其他对象比数组拥有更多的实用方法。值得记住的数组方法有:sort、reverse、slice和splice。...数组在push元素有很好的性能,但是在数组中间插入,删除和查找元素上性能却不是很优,JavaScript中的数组的大小是可以动态增长的。...在JavaScript中,有5种最常用的遍历方法,使用最多的是for循环,for循环可以用任何顺序遍历数组的索引。
如何来进行理解呢,来看几个实例 1)全局函数中的this指向 function test(){ alert(this);//test这个函数没有所有者,因此此时this指向的是window } 2)对象方法中的...(){ alert(this===h5course); } 这便是上面所说的,要将函数与函数名分开看待 4)绑定函数时的this 此时如果我们对3)中的代码进行一些修改: function test (...我们可以将document.onclick理解为一个对象方法,如同例4中的o.test2一样。...} 6)setTimeout等传参形式的this指向 不要去看传的参数中函数的所有者,看执行函数的所有var obj = {}; obj.x = 1; obj.y = 2; window.x = 100...oo = {}; oo.test3 = function(y,z,k){//函数的参数与apply、call中第二个以及之后的参数相对应 alert(this.x+y+z+k); } var arr=
许多JavaScript的新手发现回调也很难理解。 尽管callbacks可能令人疑惑,但是你仍然需要彻底了解它们,因为它们是JavaScript中的一个重要的概念。...它们在JavaScript中很常见,你可能自己潜意识的使用了它们而不知道它们被称为回调函数。...它是如此重要,以至于说JavaScript中的函数是高阶函数。高阶函数在编程范例中称为函数编程,是一件很重大的事情。 但这是另一天的话题。...如果你告诉JavaScript订购披萨,它会打电话给披萨店并在等候列表名单中添加“等待披萨到达”(的指令)。与此同时,它还会做了其他已经在todo-list上的事情。...以下是回调中的一些常见用法,用于告诉JavaScript要做什么...
构造函数中的this与被创建的新对象绑定; (当构造器返回的默认值是一个this引用的对象时,可以手动设置返回其他的对象,如果返回值不是一个对象,返回this) function C(){ this.a...= 37; console.log(this.a) } var c = new C() // 37 2.6 类上下文中的this this 在 类 中的表现与在函数中类似,因为类本质上也是函数...类的构造函数中,this 是一个常规对象,与构造函数的this一样; 类中所有非静态的方法都会被添加到 this 的原型中; (静态方法不是 this 的属性,它们只是类自身的属性。)...= new Person(); 2.11 嵌套函数中的this this在嵌套函数中不会传递,即直接调用与普通函数一样,非严格模式下为window,严格模式下为undefined; var obj =...// 作为构造函数使用的绑定函数,可能不应该用在任何生产环境中。 // bind的一个简单实现 if (!
一、问题的由来 学懂 JavaScript 语言,一个标志就是理解下面两种写法,可能有不一样的结果。...本文就来解释 JavaScript 这样处理的原理。理解了这一点,你就会彻底理解this的作用。 二、内存的数据结构 JavaScript 语言之所以有this的设计,跟内存里面的数据结构有关系。...var obj = { foo: 5 }; 上面的代码将一个对象赋值给变量obj。...JavaScript 引擎会先在内存里面,生成一个对象{ foo: 5 },然后把这个对象的内存地址赋值给变量obj。 ? 也就是说,变量obj是一个地址(reference)。...var obj = { foo: function () {} }; 这时,引擎会将函数单独保存在内存中,然后再将函数的地址赋值给foo属性的value属性。 ?
数组的定义: var colors = new Array(20); var colors = new Array('red'); // ['red'] var colors = ['red'...function(item, index, array){}); 所有元素返回true则返回true colors.filter(function(item, index, array){}); 返回为true的元素组成的数组...colors.forEach(function(item, index, array){}); 无返回值 colors.map(function(item, index, array){}); 返回函数调用结果组成的数组
领取专属 10元无门槛券
手把手带您无忧上云