07 2017 档案
摘要:&&操作符 在 javascript 中,对于 && 不仅仅可以用于 boolean 类型,也不仅仅返回 Boolean 类型的结果。 如果第一个操作数是 Boolean 类型,而且值为 false ,那么直接返回 false。 如果第一个操作数是 Boolean 类型,而且值为 true,另外一个
阅读全文
摘要:题目也是源自今日头条前端工程师笔试题。题目描述: 现在有一个字符串,你要对这个字符串进行 n 次操作,每次操作给出两个数字:(p, l) 表示当前字符串中从下标为 p 的字符开始的长度为 l 的一个子串。你要将这个子串左右翻转后插在这个子串原来位置的正后方,求最后得到的字符串是什么。字符串的下标是从
阅读全文
摘要:实现css预编译的方式有很多,听说glup很流行而且功能也很强大,但是就目前的工作而言,仅要css预编译和YUIcompress就够了,接下来切入正题 Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性,使 CSS 更易维护和扩展。 Less 可以运行在
阅读全文
摘要:jQuery中提供了四种绑定事件的方法,分别是bind、live、delegate、on,对应的解除监听的函数分别是unbind、die、undelegate、off: 一、on()方法(首选方法) on() 方法在被选元素及子元素上添加一个或多个事件处理程序。 自 jQuery 版本 1.7 起,
阅读全文
摘要:JavaScript作为一种弱类型的编程语言,语法和C/C++、JAVA等存在差别,但是对于大部算法题,不只是C/C++、JAVA,也依然可以使用JavaScript来实现。所以在牛客网中,如果你喜欢JavaScript这门编程语言,同时对数据结构与算法感兴趣,当然可以使用这门语言去刷编程题。 大家
阅读全文
摘要:详细介绍:深入理解javascript原型和闭包(5)——instanceof 图片来源:https://www.ibm.com/developerworks/cn/web/1306_jiangjj_jsinstanceof/figure1.jpg
阅读全文
摘要:ECMA把对象定义为:无序属性的集合,其属性可以包含基本值、对象或者函数。 1. 使用Object构造函数创建对象 创建自定义对象的最简单的方式就是创建一个Object的实例,然后再为它添加属性和方法。 2. 使用对象字面量创建一个对象 3.工厂模式 虽然Object构造函数或者对象字面量都可以用来
阅读全文
摘要:ECMAscript只支持实现继承,主要是依靠原型链来实现的。 JavaScript实现继承的方式: 类式继承 构造函数继承 组合继承 寄生组合式继承 类式继承 构造函数继承 组合继承 寄生组合式继承 1.类式继承 原理说明:在实例化一个类时,新创建的对象复制了父类的构造函数内的属性与方法并且将原型
阅读全文
摘要:创建一个函数,给定页面上的DOM元素,将访问元素本身及其所有后代(而不仅仅是它的直接子代)。对于访问的每个元素,函数应将该元素传递给提供的回调函数。 函数的参数应该是: 一个DOM元素 一个回调函数(以DOM元素为参数) 访问树中的所有元素(DOM)是一种经典的深度优先搜索算法应用程序。以下是一个示
阅读全文
摘要:下面的代码,如果队列太长会导致栈溢出,怎样解决这个问题并且依然保持循环部分: 通过修改nextListItem功能可以避免潜在的堆栈溢出,如下所示: 栈溢出主要是因为循环事件,而不是栈。当执行nextListItem时,如果item不是null,在settimeout函数中的nextListItem
阅读全文
摘要:考虑一下以下的代码片段: (a)当用户点击“Button4”的时候会打印什么?并解释为什么? (b)提供一个或多个正确的实现方式。 答:(a)无论点击哪个按钮,都将打印5.因为任何按钮在调用onclick方法时,for循环已经完成了,变量i的值变成了5. (b)关键是要抓住在每一次循环for的时候要
阅读全文
摘要://判断是否是回文串function isPalindrome(str) { str = str.replace(/\W/g, '').toLowerCase(); return (str == str.split('').reverse().join('')); } console.log(isPalindrome("level")); /...
阅读全文
摘要:先看下面程序: 可以看到,foo1和foo2函数返回对象的开始的大括号一个和return在同一行,foo2不在同一行。 于是,foo2()返回未定义,没有任何错误被抛出。 原因:当foo2()的一行语句中只包含return时,会在return语句后面自动的加上一个分号。后面的语句也是合法的,不会抛出
阅读全文
摘要:转自:http://www.gbtags.com/gb/share/9879.htm 1.1、讲讲输入完网址按下回车,到看到网页这个过程中发生了什么 a. 域名解析 b. 发起TCP的3次握手 c. 建立TCP连接后发起http请求 d. 服务器端响应http请求,浏览器得到html代码 e. 浏览
阅读全文
摘要:详细介绍:老生常谈-从输入url到页面展示到底发生了什么 (1)一次完整的HTTP事务的过程 基本流程: a. 域名解析 b. 发起TCP的3次握手 c. 建立TCP连接后发起http请求 d. 服务器端响应http请求,浏览器得到html代码 e. 浏览器解析html代码,并请求html代码中的资
阅读全文
摘要:实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。 拓展:为什么用Object.prototype.toString.call(obj)检测对象类型?不理解这个函数的可以参考这篇博文。 这里
阅读全文
摘要:更多参考:牛客网 https://www.nowcoder.com/questionTerminal/f904c482f21346a6a19efd5a82655518
阅读全文
摘要:给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含删除重复条目后的新数组。
阅读全文
摘要:1 //1.预解释毫无节操-自执行函数 2 f=function(){return true}; 3 g=function(){return false}; 4 (function(){ 5 if(g()&&[]==![]){ //匿名函数中的g,即下面定义的方法g。 // []==![] 返回true 6 ...
阅读全文
摘要:JavaScript中的函数执行会形成私有的作用域。 (1)作用域的销毁 一般情况下,函数执行形成一个私有的作用域,当执行完成后就销毁了->节省内存空间 (2)作用域的不立即销毁 (3)作用域的立即销毁 面试题: 几种不销毁常用到的形式: (1)函数执行,返回一个引用数据类型的值,并且在函数的外面被
阅读全文
摘要:最近碰到这样一个问题: []==![] 为什么等于true? 首先分析 !的优先级较==高,先运算==两侧的操作数: 执行类型转换的规则如下:如果一个运算数是 Boolean 值,在检查相等性之前,把它转换成数字值。false 转换成 0,true 为 1。如果一个运算数是字符串,另一个是数字,在检
阅读全文
摘要:参考:http://www.imooc.com/qadetail/161604?t=227246 https://www.zhihu.com/question/49789706 https://zhidao.baidu.com/question/2270540468949188628.html
阅读全文
摘要:#Git的基本了解与使用、向github提交代码- git:是一个版本控制系统。- github:一个代码托管提供商、开源网站、是一个面向开源及私有软件项目的托管平台,因为支持Git作为唯一的版本库格式进行托管,故名为github。 - 刚开始我对两者的关系很困惑、其实就是你可以在github上面创
阅读全文
摘要:打开百度首页,进入控制台的时候,我们在console控制台总可以看到一段文字: 这些文字是如何显示在控制台的呢?? Javascript中的函数被看作是一个对象拥有自己的方法,其中一个小方法fn.toString()可以帮助我们实现多行字符串的效果。 fn.toString()关键是利用他可以返回注
阅读全文
摘要:(1)浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同 问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。碰到频率:100%解决方案:CSS里 *{margin:0;padding:0;}备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几
阅读全文
摘要:第一部分:Object Prototypes (对象原型) (1)定义一个方法,要求传入一个string类型的参数,然后将string的每个字符间加个空格返回,例如: 实现方案: (2)如何把(1)中定义的方法放入String对象的前面调用,例如: 这里主要考察对function prototype
阅读全文
摘要:indexhtml 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>五子棋</title> 6 <meta name="viewport" content="width=device-wi
阅读全文
摘要://去除字符串前后的空格 function trim(str) { if (str && typeof str === "string") { return str.replace(/(^\s*)|(\s*)$/g,""); //去除前后空白符 } } str1 = ' hello world '; console.log(trim(str1)); ...
阅读全文
摘要:将 rgb 颜色字符串转换为十六进制的形式,如 rgb(255, 255, 255) 转为 #ffffff1. rgb 中每个 , 后面的空格数量不固定2. 十六进制表达式使用六位小写字母3. 如果输入不符合 rgb 格式,返回原始输入 示例1 输入 'rgb(255, 255, 255)' 输出
阅读全文
摘要:根据包名,在指定空间中创建对象 链接来自牛客网:根据包名,在指定空间中创建对象
阅读全文
摘要:看到这样一个问题:{} + [] 的结果是多少? 一脸懵逼.. 于是在chrome控制台运行 {} + [] 和用 console.log({} + []) 输出,发现结果不一样.. 于是,把各种可能的情况都考虑了一下: 为什么结果会是这样的呢?被绕晕了。 首先情形二和情形三很简单,情形三就是将情形
阅读全文
摘要:常用的CSS命名规则 头:header 内容:content/Container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体佈局宽度:wrapper 左右中:left right center 登录条:loginbar 标志:logo 广告:banne
阅读全文
摘要:(一)html部分1. H5新标签在IE9以下的浏览器识别 <!--[if lt IE 9]> <script type="text/javascript" src="js/html5shiv.js"></script> <![endif]--> <!--[if lt IE 9]> <script
阅读全文
摘要:一、减少操作量 二、提前做加载操作 三、提升并行加载 切分组件到多个域 ,提升服务器的响应能力 四、JavaScript和CSS优化 五、异步加载 使用Ajax实现异步加载,例如,滚动页面加载后面的内容,这种也比较常见。 参考:页面优化有哪些方法
阅读全文
摘要:渲染引擎:渲染引擎可以显示html、xml文档及图片,它也可以借助插件(一种浏览器扩展)显示其他类型数据,例如使用PDF阅读器插件可以显示PDF格式。 不同的浏览器有不同的渲染引擎: Trident(MSHTML)内核:IE,MaxThon,TT,The World,360,搜狗浏览器等Gecko内
阅读全文
摘要:1. Web前端面试题目汇总 2. Web前端面试指导面试真题 3. 前端开发面试题 (题目列表页) 非常重要!! 4. 前端面试题汇总库 5. 前端工作面试问题 6. 前端面试题集 7. 前端面试经典题目合集(HTML+CSS) js面试经典题目合集 8. 25个基本JavaScript核心面试题
阅读全文
摘要:HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得
阅读全文
摘要:三种解决方案: html标签、css实现、 纯js实现 方案一: 定义一个客户端图像映射。图像映射(image-map)指带有可点击区域的一幅图像。 方案二: 方案三:
阅读全文
摘要:JSON是什么 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它是基于javascript的一个子集。数据格式简单, 易于读写, 占用带宽小。是前后台数据交互最常见的一种数据格式。 存储和交换文本信息的语法。 数据格式:简单值 、 对象 、数组 JSO
阅读全文
摘要:解释: 正则表达式 \d{1,3}(?=(\d{3})+$) 表示前面有1~3个数字,后面的至少由一组3个数字结尾。 ?=表示正向引用,可以作为匹配的条件,但匹配到的内容不获取,并且作为下一次查询的开始。 $& 表示与正则表达式相匹配的内容。
阅读全文
摘要:偶然间碰到这样一个问题: 运行结果 [ 1, NaN, NaN ] ,而不是[ 1, 2, 3 ]. 但是单独拿出来转换又可以。 下面我们从parseInt()方法和map()方法进行分析找出原因。 parseInt()方法分析 parseInt(s,radix)解析一个字符串,并返回一个整数。 s
阅读全文
摘要:字符串作在程序中是非常常见的,因为程序中绝大部分的数据都可以当作字符串来处理。在这里介绍几种翻转字符串的方法。 (1)使用字符串函数 (2)使用for循环 (3)使用递归
阅读全文
摘要:需要用到的技术 1. 元素水平居中对齐 1) 使用margin对齐(推荐) 2) 使用left:50% 3) 使用text-align 2. 元素对相对窗口定位 1) 使用filxed(推荐) 2) 使用absolute定位 3) 使用html和body的width和height填?这个窗口 3.
阅读全文
摘要:一. new是干嘛的? new操作符用来生成一个新的对象, 它后面必须跟上一个函数(否则, 会抛出TypeError异常), 这个函数就是我们常说的构造函数. 二. new操作构造函数生成实例的过程 (1) 首先, 当我们使用new操作符时, js会先创建一个空的对象; (2) 然后, 构造函数中的
阅读全文
摘要:1.闭包(Closure) 闭包的概念 可以保留局部变量不被释放的代码块,被称为一个闭包。 闭包的特点:函数嵌套函数、内部函数可以引用外部函数的参数和变量、参数和变量不会被垃圾回收机制收回 makeCounter 这个函数的代码块,在返回的函数中,对局部变量 k ,进行了引用,导致局部变量无法在函数
阅读全文
摘要:1、函数式编程理解 函数式编程可以理解为,以函数作为主要载体的编程方式,用函数去拆解、抽象一般的表达式 与命令式相比,这样做的好处在哪?主要有以下几点: (1)语义更加清晰 (2)可复用性更高 (3)可维护性更好 (4)作用域局限,副作用少 当情况变得更加复杂时,表达式的写法会遇到几个问题: (1)
阅读全文
摘要:尾调用 尾调用(Tail Call)是函数式编程的一个重要概念,本身非常简单,一句话就能说清楚,就是指某个函数的最后一步是调用另一个函数。 尾调用优化 尾调用之所以与其他调用不同,就在于它的特殊的调用位置。 我们知道,函数调用会在内存形成一个“调用记录”,又称“调用帧”(call frame),保存
阅读全文
摘要:ES6允许使用“箭头”(=>)定义函数。 基本语法: 函数名 = 参数 => 代码块 如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分。 箭头函数的一个用处是简化回调函数。 箭头函数有几个使用注意点: (1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。 (
阅读全文
摘要:实现自由落体运动需要理解的几个简单属性: clientHeight:浏览器客户端整体高度 offsetHeight:对象(比如div)的高度 offsetTop:对象离客户端最顶端的距离 转自: javascript 之自由落体运动实现
阅读全文
摘要:二分查找 解析:二分查找,也为折半查找。对于一个从小到大排列的有序数组,首先要找到一个中间值,通过与中间值比较,大的放又,小的放在左边。再在两边中寻找中间值,持续以上操作,直到找到所在位置为止。 1.非递归实现 2.递归实现
阅读全文
摘要:快速排序js代码实现 "快速排序"的思想很简单,整个排序过程只需要三步: (1)在数据集之中,选择一个元素作为"基准"(pivot)。 (2)所有小于"基准"的元素,都移到"基准"的左边;所有大于"基准"的元素,都移到"基准"的右边。 (3)对"基准"左边和右边的两个子集,不断重复第一步和第二步,直
阅读全文
摘要:所谓 深浅拷贝: 对于仅仅是复制了引用(地址),换句话说,复制了之后,原来的变量和新的变量指向同一个东西,彼此之间的操作会互相影响,为 浅拷贝。 而如果是在堆中重新分配内存,拥有不同的地址,但是值是一样的,复制后的对象与原来的对象是完全隔离,互不影响,为 深拷贝。 深浅拷贝 的主要区别就是:复制的是
阅读全文
摘要:深复制和浅复制只针对像 Object, Array 这样的复杂对象的。简单来说,浅复制只复制一层对象的属性,而深复制则递归复制了所有层级。 深浅拷贝 的主要区别就是:复制的是引用(地址)还是复制的是实例。 所谓 深浅拷贝: 对于仅仅是复制了引用(地址),换句话说,复制了之后,原来的变量和新的变量指向
阅读全文
摘要:常用git命令: $ git clone //本地如果无远程代码,先做这步,不然就忽略 $ cd //定位到你blog的目录下 $ git status //查看本地自己修改了多少文件 $ git add . //添加远程不存在的git文件 $ git commit -m "what I want
阅读全文
摘要:创建新的 HTML 元素 如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一个已存在的元素追加该元素。 删除已有的 HTML 元素 如果能够在不引用父元素的情况下删除某个元素,就太好了。不过很遗憾。DOM 需要清楚您需要删除的元素,以及它的父元素
阅读全文
摘要:addEventListener() 方法 实例: addEventListener() 方法用于向指定元素添加事件句柄。 addEventListener() 方法添加的事件句柄不会覆盖已存在的事件句柄。 你可以向一个元素添加多个事件句柄。 你可以向同个元素添加多个同类型的事件句柄,如:两个 "c
阅读全文
摘要:对事件做出反应 我们可以在事件发生时执行 JavaScript,比如当用户在 HTML 元素上点击时。 如需在用户点击某个元素时执行代码,请向一个 HTML 事件属性添加 JavaScript 代码: HTML 事件的例子: 当用户点击鼠标时 当网页已加载时 当图像已加载时 当鼠标移动到元素上时 当
阅读全文
摘要:改变 HTML 样式
阅读全文
摘要:改变 HTML 输出流 在 JavaScript 中,document.write() 可用于直接向 HTML 输出流写内容。 绝对不要在文档加载完成之后使用 document.write()。这会覆盖该文档。 改变 HTML 内容 修改 HTML 内容的最简单的方法时使用 innerHTML 属性
阅读全文
摘要:什么是 AJAX ? AJAX = 异步 JavaScript 和 XML。 AJAX 是一种用于创建快速动态网页的技术。 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 传统的网页(不使用 AJAX)如果需要
阅读全文
摘要:void 操作符用法格式: javascript:void (expression) 下面的代码创建了一个超级链接,当用户以后不会发生任何事。当用户链接时,void(0) 计算为 0,但 Javascript 上没有任何效果。 下面的代码创建了一个超级链接,用户单时会提交表单。 下面代码则执行了su
阅读全文
摘要:1、数组转字符串需要将数组元素用某个字符连接成字符串,示例代码如下: 2、字符串转数组 实现方法为将字符串按某个字符切割成若干个字符串,并以数组形式返回,示例代码如下:
阅读全文
摘要:1.下载node.js sublimeText3- 安装nodejs插件 ctrl+shift+p — install package —nodejs 2.修改配置文件 在 Sublie Text 3 Packages 文件目录下, 找到 Nodejs.sublime-settings 文件,更改以
阅读全文
摘要:Sublime Text 3 http://www.sublimetext.com/3 node.js http://nodejs.cn/download 1.安装完成后。 2.打开sublime text,选择—新建编译环境菜单 修改后 保存到默认路径,命名为javascript。 3. CRTL
阅读全文
摘要:模板字符串的功能,不仅仅是上面这些。它可以紧跟在一个函数名后面,该函数将被调用来处理这个模板字符串。这被称为“标签模板”功能(tagged template)。 模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者
阅读全文

浙公网安备 33010602011771号