随笔分类 - JavaScript
摘要:在程序设计中有很多实用的设计模式,而其中大部分语言的实现都是基于“类”。 在JavaScript中并没有类这种概念,JS中的函数属于一等对象,在JS中定义一个对象非常简单(var obj = {}),而基于JS中闭包与弱类型等特性,在实现一些设计模式的方式上与众不同。 本文基于《JavaScript
        阅读全文
                
摘要:1、call 方法 /** * _call * * @param { context } context * @param { arguments } arguments */ Function.prototype._call = function(context) { // 如果没有传或传的值为空
        阅读全文
                
摘要:正则表达式是一种通用的工具,在 JavaScript、PHP、Java、Python、C++ 等几乎所有的编程语言中都能使用;但是,不同编程语言对正则表达式语法的支持不尽相同,有的编程语言支持所有的语法,有的仅支持一个子集。本节讲到的正则表达式语法适用于 JavaScript。正则表达式的语法体现在
        阅读全文
                
摘要:什么是Promise 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise提供统一的API,各种异步操作都可以用同样的方法进行处理。 Promise出现之前都是通过回调
        阅读全文
                
摘要:5.寄生式继承 与寄生构造函数和工厂模式类似,创建一个仅用于封装继承过程的函数,该函数在内部以某种方式来增强对象,最后返回对象。 function createAnother(original){ var clone = Object.create(original); //通过调用函数创建一个新对
        阅读全文
                
摘要:上一节我们详细聊了聊高阶函数之柯里化,通过介绍其定义和三种柯里化应用,并在最后实现了一个通用的 currying 函数。这一小节会继续之前的篇幅聊聊函数节流 throttle,给出这种高阶函数的定义、实现原理以及在 underscore 中的实现,欢迎大家拍砖。 有什么想法或者意见都可以在评论区留言
        阅读全文
                
摘要:在一些DOM操作中我们经常会跟元素的位置打交道,鼠标交互式一个经常用到的方面,令人失望的是不同的浏览器下会有不同的结果甚至是有的浏览器下没结果,这篇文章就上鼠标点击位置坐标获取做一些简单的总结,没特殊声明代码在IE8,FireFox,Chrome下进行测试兼容 鼠标点击位置坐标 相对于屏幕 如果是涉
        阅读全文
                
摘要:你(可能)不知道的web api 简介 作为前端er,我们的工作与web是分不开的,随着HTML5的日益壮大,浏览器自带的webapi也随着增多。本篇文章主要选取了几个有趣且有用的webapi进行介绍,分别介绍其用法、用处以及浏览器支持度,同时我也分别为这几个api都做了一个简单的demo(真的很简
        阅读全文
                
摘要:深拷贝的终极探索(90%的人都不知道) 划重点,这是一道面试必考题,我就问过很多面试者这个问题,✧(≖ ◡ ≖✿)嘿嘿 首先这是一道非常棒的面试题,可以考察面试者的很多方面,比如基本功,代码能力,逻辑能力,而且进可攻,退可守,针对不同级别的人可以考察不同难度,比如漂亮妹子就出1☆题,(*^__^*)
        阅读全文
                
摘要:浅拷贝与深拷贝 一、数据类型 数据分为基本数据类型(String, Number, boolean, Null, Undefined,Symbol)和对象数据类型。 基本数据类型的特点:直接存储在栈(stack)中的数据 对象数据类型的特点:存储的是该对象在栈中引用,真实的数据存放在堆内存里 二、浅
        阅读全文
                
摘要:上次遇到了一个奇怪的问题:JS的(2.55).toFixed(1)输出是2.5,而不是四舍五入的2.6,这是为什么呢? 进一步观察: 发现,并不是所有的都不正常,1.55的四舍五入还是对的,为什么2.55、3.45就不对呢? 这个需要我们在源码里面找答案。 数字在V8里面的存储有两种类型,一种是小整
        阅读全文
                
摘要://requestAnimFrame 封装,可以兼容所有浏览器 window.requestAnimFrame = (function(){ return window.requestAnimationFrame || window.webkitRequestAnimationFrame || wi
        阅读全文
                
摘要:2017-09-17 前端大全 (点击上方公众号,可快速关注) 来源:雅X共赏 http://refined-x.com/2017/09/06/纯前端实现人脸识别-提取-合成/ 如有好文章投稿,请点击 → 这里了解详情 最近火爆朋友圈的军装照H5大家一定还记忆犹新,其原理是先提取出照片中的面部,然后
        阅读全文
                
摘要:function getAns(aa) { var pattern = /(?=((?!\b)\d{3})+$)/g; return aa.replace(pattern, ',');}
        阅读全文
                
摘要:RegExp 是正则表达式(Regular expression)的缩写,就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab+” 描述的特征是“一个 ‘a’ 和 任意个 ‘b’ ”,那么 ‘ab’, ‘abb’, ‘abbbbbbbbbb’ 都符合这个
        阅读全文
                
摘要:冒泡排序 冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 作
        阅读全文
                
摘要:1、设置获取cookie //方式1 //设置cookie function SetCookie(name, value)//两个参数,一个是cookie的名字,一个是值 { var Days = 30; //此 cookie 将被保存 30 天 var exp = new Date(); //ne
        阅读全文
                
摘要:Javascript: document.body 返回时<body></body> document.documentElement返回的是 <html></html> 两者使用一般用于获取scrollTop, document.body.scrollTop 的值一看,一直都是 0。一翻折腾,原来
        阅读全文
                
摘要:做图片滚动加载的时候会判断图片是否在可视区域内,如果在就加载原地址图片,下面借用jquery实现这个功能 首先看下面函数 $('#dom').offset().top //元素的绝对偏移量,指元素的实际尺寸(即不包括外边框margin)的上边界到页面顶端的距离.这个值不随窗口滚动而改变 $('#do
        阅读全文
                
                    
                
浙公网安备 33010602011771号