----------前端开发
萧凝云
The limit of my language is the limit of my world.
展开
-
作用域和作用域链
转自 http://www.jb51.net/article/30706.htm作用域链(scope chain) JavaScript中,JavaScript里一切都是对象,包括函数。函数对象和其它对象一样,拥有可以通过代码访问的属性和一系列仅供JavaScript引擎访问的内部属性。其中一个内部属性是作用域,包含了函数被创建的作用域中对象的集合,称为函数的作用域链,它决定了转载 2017-09-13 17:31:47 · 170 阅读 · 0 评论 -
常见dom树操作
js操作dom节点1.访问节点 document.getElementById(id);返回对拥有指定id的第一个对象进行访问document.getElementsByName(name);返回带有指定名称的节点集合注意:Elementsdocument.getElementsByTagName(tagname);返回带有指定标签名的对象集合注意:El转载 2017-05-10 19:58:35 · 2156 阅读 · 0 评论 -
浅谈js常用内置方法和对象
JS内置函数不从属于任何对象,在JS语句的任何地方都可以直接使用这些函数。JS中常用的内置函数如下:1、eval(str)接收一个字符串形式的表达式,并试图求出表达式的值。作为参数的表达式可以采用任何合法的操作符和常数。如果参数中包含JS命令,这些命令也可以被执行,就像这些命令是JS程序的一部分一样。2、parseInt(str,n)试图从一个字符串中提取一个整数。可附加一转载 2017-05-10 19:29:53 · 195 阅读 · 0 评论 -
WEB前端开发之ajax基础篇+跨域访问
ajax交互的四个步骤 document.querySelector("input").onclick=function(){//querySelector只能获取一个元素 //1.必须创建XMLHttpRequest对象 var xhr = new XMLHttpRequest(); //2.我要跟服务器交互,我必须代开这样一个连接 xhr.open(原创 2017-05-08 23:47:22 · 266 阅读 · 0 评论 -
WEB前端开发笔记之ajax的跨域访问(搜索引擎篇)
Title .main{ width: 700px; margin: 200px auto; } .keywords{ width: 500px;; font-size: 28px; } input[ty原创 2017-05-08 23:27:36 · 236 阅读 · 0 评论 -
图解原型链
以下内容是我的笔记转自知乎,作者看到请私信我。。我一定补上作者__proto__和prototype1. __proto__是每个对象都有的一个属性,而prototype是函数才会有的属性。2. __proto__指向的是当前对象的原型对象,而prototype指向的,是以当前函数作为构造函数构造出来的对象的原型对象。有问题可以留言~~尽力解答转载 2017-09-14 10:54:54 · 157 阅读 · 0 评论 -
babel+browserify用法总结
转自 http://www.cnblogs.com/lovesong/p/5861932.html作者:海角在眼前browserify学习总结前言在未接触browserify,虽然我知道它是一个前端构建工具,但还是有几个疑问:1. browserify出现的日期?2. 能构建哪些文件?3. 附加的browserify代码体积是多大?4. 能生转载 2017-09-15 21:58:59 · 1094 阅读 · 0 评论 -
深入学习js之浅谈作用域(作用域闭包)
初学js总会对闭包产生疑惑,其实闭包是基于词法作用域书写代码时所产生的自然结果,你甚至不需要为了利用它们而有意识地创建闭包。1.闭包的概念当函数可以记住并访问所在的词法作用域时,就产生了闭包,即使函数是在当前词法作用域之外执行。下面我们看一段代码,清晰地展示闭包function foo() { var a = 2; function bar() { c原创 2017-08-12 00:46:08 · 611 阅读 · 0 评论 -
Revealing Module(揭示模块)模式
百度了一下都是JS设计模式复制粘贴,可能我比较愚钝,对那寥寥几行介绍并不能理解这个模式相比Module模式的优势,故记录下自己的一点想法。1.为什么要使用Revealing Module?先上代码,代码来自一位国外博主window.onload = function () { eqCtl = document.getElementById('eq'); currNumb原创 2017-09-16 16:19:12 · 334 阅读 · 0 评论 -
JavaScript Event Loop 机制详解
原文链接:https://zhuanlan.zhihu.com/p/29116364作者:王下邀月熊1. 事件循环机制详解与实践应用JavaScript 是典型的单线程单并发语言,即表示在同一时间片内其只能执行单个任务或者部分代码片。换言之,我们可以认为某个同域浏览器上下中 JavaScript 主线程拥有一个函数调用栈以及一个任务队列(参考 whatwg转载 2017-09-12 16:10:59 · 323 阅读 · 0 评论 -
css行高line-height的一些深入理解及应用
转载自张鑫旭-鑫空间-鑫生活[http://www.zhangxinxu.com]一、前言前两天在腾讯ISD团队博客上看到一篇翻译的文章“深入理解css 行高”,是个不错的文章,学到了不少东西,建议您看看。这里,我也要讲讲我对line-height的一些理解,所讲解的东西绝大多数与上面提到的“深入理解css 行高”是不重复的,可以说是补充或是另外一个角度的思考。转载 2017-10-18 15:24:16 · 257 阅读 · 0 评论 -
浅谈M、V、VM
原博主地址 https://www.cnblogs.com/aaronjs/p/4216697.html最近在研究MVVM,阅读后有些顿悟Model:很简单,就是业务逻辑相关的数据对象,通常从数据库映射而来,我们可以说是与数据库对应的model。View:也很简单,就是展现出来的用户界面。基本上,绝大多数软件所做的工作无非就是从数据存储中读出数据,展现到用户界面上,转载 2017-11-18 11:35:54 · 2516 阅读 · 0 评论 -
web前端开发之二级菜单的隐藏和展开
caidan #navigation{ width: 200px; height: 1000px; float: left; } #navigation>ul{ list-style-type: none; margin: 0px; padding: 0px; } #navigation>ul>li{ border-bottom原创 2017-05-21 23:17:03 · 5170 阅读 · 2 评论 -
web前端之自动提示的文本框
首先说一下思路,通过给文本框绑定键盘输入事件,来给div下的ul元素添加子元素,实际的应用情况应该为输入数据ajax到服务器返回输入信息的模糊查询(根据热度之类的总之是动态数据),返回数据并添加到ul下作为子元素,这里直接用了一个aColors作为库用来匹配输入项理一理整个程序的脉络监听键盘输入事件,初始化全局变量,如果输入的信息和aColors单词表中的单词从第一个字母开始匹配那么把这个原创 2017-05-23 22:48:05 · 4592 阅读 · 0 评论 -
关于const用法的一些小结
1、const声明一个只读的常量。一旦声明,常量的值就不能改变。2、const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。3、const的作用域与let命令相同:只在声明所在的块级作用域内有效。4、const命令声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用。5、const声明的常量,也与let一样转载 2017-09-11 23:12:37 · 248 阅读 · 0 评论 -
深入理解javascript之初识promise
原文链接http://www.cnblogs.com/lvdabao/p/es6-promise-1.html#undefined作者 吕大豹个人认为这是一篇对于promise入门不错的文章,分享给大家ES6 Promise 先拉出来遛遛复杂的概念先不讲,我们先简单粗暴地把Promise用一下,有个直观感受。那么第一个问题来了,Promise是什么玩意呢?是一个类?原创 2017-08-22 08:34:15 · 336 阅读 · 0 评论 -
深入学习js之浅谈设计模式(行为委托)
js的本质是对象之间的关联关系1.比较面向对象和对象关联的设计模式面向对象function Foo(who) { this.me = who; } Foo.prototype.identify = function () { return "I am " + this.me; }; function Bar(who) { Foo.cal原创 2017-08-21 22:23:26 · 511 阅读 · 0 评论 -
深入学习js之浅谈原型
js的对象有一个特殊的[[prototype]]内置属性,其实是对于其他对象的引用。几乎所有的对象在创建时[[prototype]]属性都会被赋予一个非空的值。查看以下代码var myObject = { a:2; } myObject.a;//2prototype属性有什么用呢?之前说过在访问对象属性的时候会触发get操作,比如myObject.a。对于默认的原创 2017-08-21 21:16:17 · 207 阅读 · 0 评论 -
深入学习js之浅谈设计模式(混入)
在继承或者实例化时,JS的对象机智并不会自动执行复制行为。简单地说,JS中只有对象,并不存在可以被实例化的类。一个对象并不会被赋值到其他对象,他们会被关联起来,由于在其他语言中类表现出来的都是复制行为,因此JS的开发者们想出一种模拟类的行为。这个方法就是混入。混入又分为显式和隐式1.显式混入看以下代码function mixin(sourceObj, targetObj) { f原创 2017-08-20 22:17:11 · 1947 阅读 · 0 评论 -
深入学习js之浅谈对象(对象的常见特性)
在js中一共有7中主要类型string number boolean null undefined object symbol(ES6)简单基本类型本身不是对象(除了object的类型)typeof null 返回object是个语言BUG大家都懂js的内置对象(对象子类型,object下的子类型)String Number Boolean Object Functio原创 2017-08-18 22:30:48 · 193 阅读 · 0 评论 -
深入学习js之this的那些事
不得不说this是初学者对于理解js的一座山,现在我总结一些爬山心得。。1.为啥要用thisfunction identify() { return this.name; } function speak() { var greeting = "Hello" + identify.call(this); console.log(greeting);原创 2017-08-14 20:00:37 · 310 阅读 · 0 评论 -
深入学习js之浅谈作用域(变量提升)
1.变量提升有什么表现console.log(a);//undefined var a = 2;a = 2; var a; console.log(a);//2出现以上两种输出的原因是什么?引擎会在解释js代码之前首先对其进行编译,编译阶段的一部分工作就是找到所有声明并用何时的作用域将他们关联。包括变量和函数在内的所有声明都会在任何代码被执行前首先被处理。解释一原创 2017-08-11 16:47:32 · 255 阅读 · 0 评论 -
深入学习js之浅谈作用域(隐藏作用域和块作用域)
1.通过函数作用域隐藏内部实现有很多原因促成了这种基于作用域的隐藏方法。它们大多符合最小暴露原则。比如某个API或者模块的设计function foo(obj) { a = obj + fooElse(obj * 2); console.log(a * 3); } function fooElse(obj) { return obj - 1; } va原创 2017-08-10 00:55:33 · 587 阅读 · 0 评论 -
深入学习js之浅谈作用域之(eval()和with)
在深入学习js之浅谈作用域(一)中将作用域定义为一套规则,用来管理引擎如何在当前作用域以及嵌套的子作用域中根据标识符名称进行变量查找。作用域分为两种主要的工作模式:1.词法作用域(大多数编程语言包括js)2.动态作用域(Bash脚本、Perl中的一些模式)1.嵌套词法作用域的栗子和“遮蔽效应”以下嵌套作用域的栗子中1. function foo(a) {原创 2017-08-09 22:21:06 · 736 阅读 · 0 评论 -
深入学习js之浅谈作用域(RHS和LHS)
1.作用域是什么,它拿来做什么用?引用你不知道的JS中的概念。首先几乎所有语言的最基本功能之一就是存储变量中的值,并且能在之后对这个值进行访问或修改。那么这些变量存储在哪里,程序需要时如何找到他们。这些问题说明需要一套设计良好的原则来存储变量,并且之后可以方便地找到这些变量,这套规则被称为作用域。这里引入一个题外话,程序的源代码在执行之前会经历三个步骤1.分词/词法分析2.原创 2017-08-09 02:07:17 · 2958 阅读 · 0 评论 -
JS的垃圾回收机制与内存管理
一、垃圾回收机制—GCJavascript具有自动垃圾回收机制(GC:Garbage Collecation),也就是说,执行环境会负责管理代码执行过程中使用的内存。原理:垃圾收集器会定期(周期性)找出那些不在继续使用的变量,然后释放其内存。JavaScript垃圾回收的机制很简单:找出不再使用的变量,然后释放掉其占用的内存,但是这个过程不是实时的,因为其开销比较大,所以垃转载 2017-11-28 11:20:24 · 251 阅读 · 0 评论