一路向钱
当我们按照自己真实的样子而不是按照自己希望的样子来接受自己的时候,我们才能以最有利于我们的方式来采取行动,而不是生活在拖延的无边阴影之下。
贵有恒,何必三更眠五更起;
最无益,只怕一日瀑十日寒。
此专栏主要用于记录个人学习历程。包括技术文章(主要是前端),个人的心情,人生感悟等等
gxhlh
智慧的获取,能力的提升,创造力的领悟,是基于长期的投资回报周期。
展开
-
Centos7 下搭建Apache+PHP+MySQL
Centos7 下搭建Apache+PHP+MySQL将系统包更新到最新版本。yum update一、搭建Apache服务1、使用yum安装apacheyum install httpd出现 Complete! 就表示已经成功!2、安装Apache扩展包yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql3、启...原创 2019-12-22 11:13:46 · 1489 阅读 · 1 评论 -
事件委托
事件委托什么是事件委托:利用事件冒泡的特性,在父节点上响应事件,而不是在子节点上响应事件。利用事件冒泡的特性,将里层的事件委托给外层事件,根据event对象的属性进行事件委托,改善性能。优点也显而易见:性能更高,灵活,不需要操作大量的element使用事件委托能够避免对特定的每个节点添加事件监听器;事件监听器是被添加到它们的父元素上。事件监听器会分析从子元素冒泡上来的事件,找到是哪个子...原创 2019-08-18 17:45:32 · 144 阅读 · 0 评论 -
两种事件处理模型
两种事件处理模型事件冒泡:同一事件,子元素的事件触发后再触发父元素事件捕获:同一事件,先触发父元素,再触发子元素。IE中没有事件捕获触发顺序:首先捕获,然后事件执行,最后冒泡(如果两种都有的话,比如Chrome)事件冒泡和事件捕获是两种不同的事件处理模型,浏览器只要支持其中一种就好了,并不是两种都必须要有。注意: 当我们去点击一个子元素时,此时的子元素即不叫捕获,也不叫冒泡,而是叫事件执...原创 2019-08-18 17:33:43 · 486 阅读 · 0 评论 -
JS阻止冒泡和取消默认事件(默认行为)
JS阻止冒泡和取消默认事件(默认行为)js冒泡和捕获是事件的两种行为,使用event.stopPropagation()起到阻止捕获和冒泡阶段中当前事件的进一步传播。使用event.preventDefault()可以取消默认事件。防止冒泡和捕获w3c的方法是e.stopPropagation(),IE则是使用e.cancelBubble = true·stopPropagation也是事...原创 2019-08-18 02:30:25 · 507 阅读 · 1 评论 -
事件处理程序的添加、移除、兼容
事件处理程序的添加、移除、兼容HTML事件处理程序html事件处理程序,也就是直接在html元素的属性上直接添加on+事件名<script> function testFunction(){ console.log(this); }</script><button onclick="testFunction()">点击...原创 2019-08-18 02:18:29 · 422 阅读 · 0 评论 -
事件冒泡和事件捕获
事件冒泡和事件捕获事件流是描述从页面中接收事件的顺序【从内到外(冒泡),从外到内(捕获)】。事件冒泡:事件可以沿着包容层次一点点起泡到上层,也就是说,下层的DOM节点定义的事件处理函数,到了上层的节点如果还有和下层相同事件类型的事件处理函数,那么上层的事件处理函数也会执行。例如, div 标签包含了 a ,如果这两个标签都有onclick事件的处理函数,那么执行的情况就是先执行标签 a 的o...原创 2019-08-18 02:01:09 · 765 阅读 · 0 评论 -
JavaScript事件绑定
JavaScript事件绑定要想让 JavaScript 对用户的操作作出响应,首先要对 DOM 元素绑定事件处理函数。所谓事件处理函数,就是处理用户操作的函数,不同的操作对应不同的名称。在JavaScript中,有三种常用的绑定事件的方法:在DOM元素中直接绑定;在JavaScript代码中绑定;绑定事件监听函数。1、 在DOM中直接绑定<button onclick=...原创 2019-08-18 01:44:44 · 331 阅读 · 0 评论 -
JavaScript 事件
JavaScript 事件什么是事件百度百科:事件是可以被控件识别的操作,如按下确定按钮,选择某个单选按钮或者复选框。每一种控件有自己可以识别的事件,如窗体的加载、单击、双击等事件,编辑框(文本框)的文本改变事件,等等。HTML 事件是发生在 HTML 元素上的事情。事件有系统事件和用户事件。系统事件由系统激发,如时间每隔24小时,银行储户的存款日期增加一天。用户事件由用户激发,如用户点...原创 2019-08-17 18:13:58 · 279 阅读 · 0 评论 -
JS 原型与原型链 (三)
JS 原型与原型链 (三)七. 函数对象 (复习一下前面的知识点)所有函数对象的proto都指向Function.prototype,它是一个空函数(Empty function)Number.__proto__ === Function.prototype // trueNumber.constructor == Function //trueBoolean.__proto__ ...原创 2019-08-16 20:36:26 · 211 阅读 · 0 评论 -
JS 原型与原型链 (二)
JS 原型与原型链 (二)四. protoJS 在创建对象(不论是普通对象还是函数对象)的时候,都有一个叫做__proto__ 的内置属性,用于指向创建它的构造函数的原型对象。对象 person1 有一个 __proto__属性,创建它的构造函数是 Person,构造函数的原型对象是 Person.prototype ,所以:person1.__proto__ == Person.pro...原创 2019-08-16 18:25:26 · 145 阅读 · 0 评论 -
JS 原型与原型链 (一)
JS 原型与原型链 (一)一. 普通对象与函数对象JavaScript 中,万物皆对象!但对象也是有区别的。分为普通对象和函数对象,Object 、Function 是 JS 自带的函数对象。下面举例说明var o1 = {}; var o2 =new Object();var o3 = new f1();function f1(){}; var f2 = function(){...原创 2019-08-16 18:15:33 · 206 阅读 · 0 评论 -
JSON和XML的区别比较详解
JSON与XML的区别比较JSON与XML的诞生说到xlm的诞生就不得不说一下“标准通用标记语言SGML(Standerd Generalized Markup Language)”一,SGML说到XML的诞生就不得不说一下“标准通用标记语言SGML(Standerd Generalized Markup Language)”一个SGML语言由三部分组成:SGML语法定义;DTD文件类型...原创 2019-08-12 22:05:00 · 869 阅读 · 0 评论 -
JSON 使用
JSON 使用把 JSON 文本转换为 JavaScript 对象JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttpRequest),将 JSON 数据转换为 JavaScript 对象,然后在网页中使用该数据。为了更简单地为您讲解,我们使用字符串作为输入进行演示(而不是文件)。JSON 实例 - 来自字符串的对象创建包含 JSON 语法的 ...转载 2019-08-12 21:42:29 · 140 阅读 · 0 评论 -
JSON详解
JSON简介JSON介绍JSON:JavaScript对象表示法(JavaScript Object Notation)。是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似C语音家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和...原创 2019-08-12 21:37:20 · 192 阅读 · 0 评论 -
乱码问题
乱码问题浏览器(JS引擎),通常遵循UCS-2字符集,支持部分UCS-16属性HTML/CSS/JS文件字符集通常为UTF-8可能存在HTML/CSS/JS文件字符集为GBK 的情况当文件的字符集和处理文件的程序(比如,浏览器,文本编辑器)字符集不相符时,程序解码后的文字不具有可读性,称为乱码字符集文本文件本身的字符集服务器通知浏览器使用何种字符集浏览器最终采用的字符集解...原创 2019-08-12 20:58:47 · 285 阅读 · 0 评论 -
ASCll字符集
ASCll字符集ASCII, American Standard Code for Information Interchange 念起来像是 “阿斯key”,定义从 0 到 127 的一百二十八个数字所代表的英文字母或一样的结果与意义。由于只使用7个位元(bit)就可以表示从0到127的数字,大部分的电脑都使用8个位元来存取字元集(character set),所以从128到255之间的数字可...原创 2019-08-12 05:38:50 · 1650 阅读 · 0 评论 -
JavaScript中字符串的常用操作方法及特殊字符
JavaScript中字符串的常用操作方法及特殊字符这篇文章主要介绍了JavaScript中字符串的常用操作方法及js特殊字符,需要的朋友可以参考下js字符串的常用操作方法,具体内容如下所述:属性描述charAt()获取字符串中特定索引处的字符;toupperCase()将字符串的所有字符转换成大写字母;indexOf()返回字符串中特定字符串第一次出现...原创 2019-08-12 04:45:23 · 538 阅读 · 0 评论 -
类数组
类数组1,由下标,有length,有push和splice,就是一个类数组2,既可以当数组用,也可以当对象用3,DOM 里面的数组都是类数组,因为DOM 还要当对象用,而原数组不能解决这个需求比如这就是一个类数组 var arr = [1,2,3]; var obj = { "0":1, "1":2, "2":3, ...原创 2019-08-10 17:49:29 · 2172 阅读 · 0 评论 -
this的用法
this的用法1,在脚本中,this初始化为 window console.log(this); // 指向 Window2,在普通函数中,this 初始化为 window function f(){ console.log(this); // 指向 window } f();3,在 object 调用的函数中,this 被指定为 o...原创 2019-08-09 04:29:50 · 283 阅读 · 0 评论 -
闭包形成原理及应用
闭包函数的ao通过scope chain相互连接起来使得函数体内的变量都可以保存在函数的AO,这样的特性称为“闭包”。什么时候会产生闭包?只要你把一个函数里面的函数,作为 return 的方式返回到外边,扔给一个变量。只要做这个事刚才的调用就产生了闭包。闭包的危险闭包会造成原有ao不释放,产生内存泄漏,或者说是内存不合理占用。闭包原理图解因为outer Activatio...原创 2019-08-08 17:43:58 · 1565 阅读 · 0 评论 -
生成作用域链问答
生成作用域链问答函数多次调用时,是产生相同的AO,还是不同的AO?函数的每一次调用都是产生不同的AO,函数如果出去了,看他的计数器,如果计数器为零就被摧毁.函数递归调用时,是产生相同的AO,还是不同的AO?递归调用时产生的AO是不同的即使被递归调用,在递归调用的过程中每一个scope chain拷贝的不是调用它的函数而是定义它的函数,它在哪个函数里面被定义的,他就拷贝他外边的那个...原创 2019-08-08 15:32:32 · 163 阅读 · 0 评论 -
生成作用域链
生成作用域链每个函数在定义时(函数声明/函数表达式)时会拷贝其父亲函数的作用域链在函数调用(运行)时,生成AO然后将AO压入作用域链的栈顶图解:1,全局–预编译阶段2,全局–执行fa()–预编译3,fa–执行fb()–预编译运行情况解释4,fb–执行fb()完成5,fb–执行fb()完成6,fb–执行fb()完成实战栗子:with 能够影响作用...原创 2019-08-07 18:38:25 · 249 阅读 · 0 评论 -
执行环境(EC)和作用域链
执行环境(EC)和作用域链执行环境(execution context),定义了执行期间可以访问的变量和函数全局执行环境global object(window)从见到JavaScript代码时开始创建到网页关闭时销毁函数执行环境activation object从函数调用开始创建到函数调用结束时销毁作用域[[scope]],每个函数都有,作用域是私有属性,只能由Jav...原创 2019-08-07 18:14:33 · 332 阅读 · 0 评论 -
作用域链
作用域链1,外部对内部可见 var scope = "g"; function t(){ console.log(scope); // 打印 g var scope = "1"; // 当这个不存在时两个都是 g console.log(scope); // 打印 1 } t();2,内部对外部不可见 ...原创 2019-08-07 18:08:29 · 274 阅读 · 0 评论 -
思维导图学习Javascript
思维导图学习Javascript能够认真看完就是一次对javascript的回顾与提升,可以很好的检验基础。javascript变量javascript运算符javascript数组javascript流程语句javascript字符串函数javascript函数基础javascript基础DOM操作DOM对象BOM浏览器对象模型javascript正则表达...原创 2019-08-07 03:23:47 · 223 阅读 · 0 评论 -
JavaScript作用域和闭包
JavaScript作用域和闭包作用域和闭包在JavaScript里非常重要。但是在我最初学习JavaScript的时候,却很难理解。这篇文章会用一些例子帮你理解它们。我们先从作用域开始。作用域JavaScript的作用域限定了你可以访问哪些变量。有两种作用域:全局作用域,局部作用域。全局作用域在所有函数声明或者大括号之外定义的变量,都在全局作用域里。不过这个规则只在浏览器中运行的J...原创 2019-08-07 02:15:04 · 209 阅读 · 0 评论 -
JavaScript 的 this 原理
JavaScript 的 this 原理一、问题的由来学懂 JavaScript 语言,一个标志就是理解下面两种写法,可能有不一样的结果。var obj = { foo: function () {}};var foo = obj.foo;// 写法一obj.foo()// 写法二foo()上面代码中,虽然obj.foo和foo指向同一个函数,但是执行结果可能不一...转载 2019-08-07 01:20:02 · 96 阅读 · 0 评论 -
JavaScript 简介,原理
JavaScript 简介,原理JavaScript 是一种解释型的语言,通过解释执行,其解释器被称作是 JavaScript 引擎,常见的 JavaScript 引擎有以下几种:JavaScriptCore,用于 SafariJaegerMonkey,用于 MozillaChakra,用于 IE and EdgeV8,用于 Chrome、Node.jsCarakan,用于 Oper...原创 2019-08-07 01:03:24 · 422 阅读 · 0 评论 -
JavaScript预编译
JavaScript预编译前言JavaScript是一门解释语言,不是编译语言,压根就不存在编译,只是通常这么说JavaScript预编译JavaScript引擎的三大步骤1,预编译(第一次扫描/前置扫描)扫描全部变量2,解释执行(第二次扫描)一,预编译 ----脚本1,脚本 创建全...原创 2019-08-06 18:27:00 · 319 阅读 · 0 评论 -
JavaScript包装类
深入理解js包装类1.背景介绍我们目前对Javascript多少都有一些了解和使用。其中最基础的,就是js的数据类型,分为两大块,一个是基本数据类型,包括:undefined、null、boolean、number、string等;一个是引用数据类型,包括object、array、Date、RegExp等。在引用类型中,还有三个特殊的引用类型,和基本数据类型相似,我们接下来来认识一下:bool...原创 2019-08-05 17:49:57 · 501 阅读 · 1 评论 -
GET和POST的区别
GET和POST的区别1 前言最近看了一些同学的面经,发现无论什么技术岗位,还是会问到 get 和 post 的区别,而搜索出来的答案并不能让我们装得一手好逼,那就让我们从 HTTP 报文的角度来撸一波,从而搞明白他们的区别。2 标准答案分类GETPOST后退按钮/刷新无害数据会被重新提交(浏览器应该告知用户数据会被重新提交)。书签可收藏为书签不可收藏为...转载 2019-08-04 17:16:20 · 11326 阅读 · 6 评论 -
对象(object)
对象(object)对象的创建两个方法,两个方法都可以 var obj1 = { }; //方法一 var obj2 = new Object(); //方法二举个栗子: var objBook ={ name: "Book", // 原始成员 pageNumber:300, ...原创 2019-08-03 02:51:39 · 704 阅读 · 1 评论 -
递归
递归的概念在程序中函数直接或间接调用自己注意:使用递归函数一定要注意,处理不当就会进入死循环。递归函数只有在特定的情况下使用 ,比如阶乘问题。一个阶乘的例子:function fact(num) { if (num <= 1) { return 1; } else { return num ...原创 2019-08-02 04:18:04 · 127 阅读 · 0 评论 -
形参和实参
形参和实参形参和实参可以不一样,类型,数量都可以不一样 ,JS根本就不关心形参和实参会绑定,动态关联function foo(a,b,c){ //a,b,c 是形参 console.log(arguments); //arguments 是实参数组 argument[0] = -1; console.log(a); // a ...原创 2019-08-02 03:43:25 · 713 阅读 · 0 评论 -
调用 JavaScript 函数的四种方式
调用 JavaScript 函数的四种方式一,作为一个函数调用function myFunction(a, b) { return a * b;}myFunction(10, 2); // myFunction(10, 2) 返回 20二,函数作为方法调用在 JavaScript 中你可以将函数定义为对象的方法。var Obj = { add:f...原创 2019-08-02 02:26:55 · 527 阅读 · 0 评论 -
嵌套函数和闭包
嵌套函数嵌套函数,就是指在某些情况下,您可能需要将某函数作为另一函数的参数使用,这一函数就是嵌套函数。在一个函数被调用的过程中又调用另一个函数,这就是函数的嵌套调用。如果是函数本身嵌套调用函数本身,那就是函数递归调用了。嵌套函数的一个思想就是- - - - - - - 重复的过程要提炼成函数嵌套函数和闭包你可以在一个函数里面嵌套另外一个函数。嵌套(内部)函数对其容器(外部)函数是私有的。...原创 2019-08-02 01:52:48 · 2638 阅读 · 1 评论 -
立即执行函数
函数定义函数的方式有三种:1.函数声明: function 函数名称 (参数:可选) { 函数体 }2.函数表达式: var express= function 函数名称:可选 (参数:可选) { 函数体 }3.构造函数: var fun =new Function(参数:可选);最常用的是函数声明和函数表达式。三,立即执行函数先看几个例子:...原创 2019-08-02 01:39:51 · 188 阅读 · 0 评论 -
函数表达式
函数定义函数的方式有三种:1.函数声明: function 函数名称 (参数:可选) { 函数体 }2.函数表达式: var express= function 函数名称:可选 (参数:可选) { 函数体 }3.构造函数: var fun =new Function(参数:可选);最常用的是函数声明和函数表达式。二, 函数表达式从上面的定义可...原创 2019-08-02 01:34:27 · 3506 阅读 · 0 评论 -
函数声明
函数函数的作用,就是把过程封装起来。可以写一次代码,然后反复地重用这个代码。一,函数声明function 函数名(【形参- - - 形式上的参数】 ){函数体;}形参可以有,也可以没有,函数有返回值return,也可以没有,没有的时候返回undefined举个栗子: x=[1,2,3,4,5,undefined,NaN,"abc"];// 实现累加,用函数封装过程...原创 2019-08-02 01:06:39 · 2038 阅读 · 0 评论 -
String 字符串对象
String 字符串对象定义字符串的方法就是直接赋值。比如:var mystr = "I love JavaScript!"访问字符串对象的属性length:stringObject.length; 返回该字符串的长度。访问字符串对象的方法:使用 String 对象的 toUpperCase() 方法来将字符串小写字母转换为大写:使用toLowerCase()方法,将字符串所有大写...原创 2019-07-25 04:17:39 · 315 阅读 · 0 评论