JavaScript
TracyZhou0907
这个作者很懒,什么都没留下…
展开
-
详解JS跨域问题
什么是跨域?概念:只要协议、域名、端口有任何一个不同,都被当作是不同的域。URL 说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/转载 2016-11-03 00:55:08 · 213 阅读 · 0 评论 -
如何阻止事件冒泡和默认事件
阻止事件冒泡: function stopBubble(e) { if (e && e.stopPropagation) e.stopPropagation() else window.event.cancelBubble = true } return false 阻止默认冒泡: function stopDault(e) { ...原创 2018-11-10 16:55:36 · 1006 阅读 · 0 评论 -
Function() 构造函数
引用自书籍《JavaScript 权威指南》 函数通常使用function关键字来定义,要么以函数定义语句的形式,要么以函数直接量表达式的形式。 函数也可以通过Function()构造函数来定义。 使用Function()构造函数通常比使用函数直接量要难,因此这一技术也并不常用;下面是Function()构造函数创建的一个例子:var f = new Funcion("x","y","retur原创 2016-11-23 16:44:18 · 2862 阅读 · 1 评论 -
null和undefined
null是JavaScript语言的关键字,它表示一个特殊值,常用来描述“空值”。对null执行typeof预算,结果返回字符串“object”,也就是说,可以将null认为是一个特殊的对象值,含义是“非对象”。但实际上,通常认为null是它自有类型的唯一一个成员,它可以表示数字、字符串和对象是“无值”的。大多数编程语言和JavaScript一样含有null:你可能对null或nil很眼熟。Java原创 2016-11-24 15:29:18 · 421 阅读 · 0 评论 -
JavaScript 包装对象
JavaScript对象是一种复合值:它是属性或已命名值的集合。通过“.”符号来引用属性值。当属性值是一个函数的时候,称其为方法。通过o.m()来调用对象o中的方法。 我们看到字符串也同样具有属性和方法:var s = "hello world!"; // 一个字符串 var word = s.substring(s.indexOf(" ") + 1, s.length); //使用字符串的属性字原创 2016-11-24 13:38:00 · 381 阅读 · 0 评论 -
JavaScript 事件机制
JavaScript中事件处理 事件处理分为三个阶段:捕获 - 处理 - 起泡。以点击按钮为例: 捕获阶段:由外层到内层,首先调用给Window注册的click捕获阶段监听方法,然后document、body、一层层的父节点,一直到按钮本身。处理阶段:调用按钮本身的click监听方法。起泡阶段:从按钮开始,从内层到外层,依次调用各级父节点的起泡阶段监听方法,直到Window。但是,对于IE8及更转载 2016-11-22 09:59:48 · 298 阅读 · 0 评论 -
Javascript 原型链
new操作符构造对象时,也会同时将构造函数的prototype对象指派给新创建的对象,成为该对象内置的原型对象;内置的原型对象本身也是对象,也有自己关联的原型对象,这样就形成了所谓的原型链。 在JavaScript内部,对象的属性和方法追溯机制是通过所谓的prototype链来实现的。当用new操作符构造对象时,也会同时将构造函数的prototype对象指派给新创建的对象,成为该对象内置的原型对象。原创 2016-11-21 21:48:41 · 261 阅读 · 0 评论 -
JavaScript 闭包适用的场合 优缺点
一个嵌套函数被导出到它所定义的作用域外,这时候它就是一个闭包了 优点: 1.保护函数内的变量安全,加强了封装性 2.在内存中维持一个变量(用的太多就变成了缺点,占内存) 闭包之所以会占用资源是当函数a执行结束后, 变量i不会因为函数a的结束而销毁, 因为b的执行需要依赖a中的变量。 不适合场景:返回闭包的函数是个非常大的函数 闭包的典型框架应该就是jquery了。 闭包是原创 2016-11-16 23:38:40 · 535 阅读 · 0 评论 -
滚动加载图片(懒加载)实现原理
本文主要根据一、什么是图片滚动加载?通俗的讲就是:当访问一个页面的时候,先把img元素或是其他元素的背景图片路径替换成一张大小为1*1px图片的路径(这样就只需请求一次),只有当图片出现在浏览器的可视区域内时,才设置图片正真的路径,让图片显示出来。这就是图片懒加载。二、为什要使用这个技术?比如一个页面中有很多图片,如淘宝、京东首页等等,如果一上来就发送这么多请求,页面加载就会很漫长,如果js文件都放转载 2016-11-16 20:20:05 · 434 阅读 · 0 评论 -
使用ajax跨域Cross-Origin Resource Sharing / withCredentials的作用
HTML 5以前的标准由于考虑到浏览器安全问题并不允许直接跨域通信,于是为了达到跨域通信的目的各种蛋疼的解决办法出现了,常用的有:jsonp、使用代理文件、地址栏hash等等,这些办法的出现在达到解决跨域问题的同时,也增加了前端页面的性能开销和维护成本。HTML5新的标准中,增加了” Cross-Origin Resource Sharing”特性,这个特性的出现使得跨域通信只需通过配置http协议转载 2016-11-15 22:14:29 · 2539 阅读 · 0 评论 -
理解Javascript之执行上下文(Execution Context)
- 什么是执行上下文 Javascript中代码的运行环境分为以下三种: 全局级别的代码 - 这个是默认的代码运行环境,一旦代码被载入,引擎最先进入的就是这个环境。 函数级别的代码 - 当执行一个函数时,运行函数体中的代码。 Eval的代码 - 在Eval函数内运行的代码。 javascript是一个单线程语言,这意味着在浏览器中同时只能做一件事情。当javascript解释器初始执行代码,它首先...原创 2018-11-06 00:17:18 · 194 阅读 · 0 评论