对Vue.js的认知 (转)

一、什么是MVVM?MVVM是Model-View-ViewModel的缩写。MVVM是一种设计思想。Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;View 代表UI 组件,它负责将数据模型转化成UI 展现出来,ViewModel 是一个同步View 和 Model的对象。在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互,Model 和 ViewModel 之间的交互是双向的, 因此View 数据的变化会同步到Model中,而Model 数据的变化也会立即反应到View 上。ViewModel 通过双向数据绑定

js实现返回顶部效果的方法总结

当页面特别长的时候,用户想回到页面顶部,必须得滚动好几次滚动键才能回到顶部,如果在页面右下角有个“返回顶部”的按钮,用户点击一下,就可以回到顶部,对于用户来说,是一个比较好的体验。实现功能:当页面加载的时候,把返回顶部按钮定位到页面的右下角,当页面从顶部向下滑动不超过一定距离时,返回顶部按钮隐藏,当页面从顶部向下滑动超过该距离时,返回顶部按钮显示,当用户点击返回顶部按钮的时候,页面返回顶部。主要的几种实现方案1、纯js,无动画版本window.scrollTo(x-coord, y-coord); window.scrollTo(0,0);2、纯js,带动画版本生硬版:var scroll

js中for循环优化总结_如何提高程序的执行效率

在程序开发中,经常会使用到for循环的,但是很多人写的for循环效率都是比较低的,下面就举例说明,并总结优化for循环的方法,来提高我们程序的执行效率。1、取消循环终止判断,否则每循环一次都会执行一次判断for (var i = 0; i < arr.length; i++) { // do something... }这样每次循环都要去读取一次数组的长度。优化写法:var len= arr.length; for (var i=0; i < len; i++) { // do something... }这里声明了2个变量,len和i。其实可以使用一个就能解决,如

js中实现sleep暂停/睡眠功能的多种方式

由于很多语言都有sleep函数,但是js中没有,下面介绍JavaScript实现类似sleep的多种方式。1、利用循环function sleep(d){ for(var t = Date.now();Date.now() - t <= d;); } sleep(5000); //当前方法暂停5秒优点:简单粗暴,通俗易懂。缺点:这是最简单粗暴的实现,确实 sleep 了,也确实卡死了,CPU 会飙升,无论你的服务器 CPU 有多么 Niubility。2、Promise版本  function sleep(ms) { return new Promise(re

js练习笔记:10道JavaScript题目

十个练习题目,感觉比较典型,分享一下。累加函数addNum实现一个累加函数addNum,参数为number 类型,每次返回的结果= 上一次计算的值+ 传入的值var addNum = (function() { var result = result 0; return function(num) { result += num; return result; }; })(); addNum(10); // 10 addNum(12); // 22 addNum(30); // 52

JS中this的指向问题(全)

this关键字在js中的指向问题不管是工作还是面试中都会经常遇到,所以在此对它进行一下总结。一、全局作用域中this在全局作用域中指window。//全局作用域中 console.log(this)//window a =1; console.log(this.a) //相当于window.a 1 //普通函数中 function fn(){ console.log(this) } fn()//window二:闭包中指window function fn(){ function fn2(){ console.log(this)

原生js监听浏览器后退按钮的事件方法

首先我们要了解浏览器的history。大家知道在页面中我们可以使用javascript window history,后退到前面页面,但是由于安全原因javascript不允许修改history里已有的url链接,但可以使用pushState方法往history里增加url链接,并且提供popstate事件监测从history栈里弹出url。既然有提供popstate事件监测,那么我们就可以进行监听。返回、后退、上一页按钮点击监听实现代码:if(window.history && window.history.pushState){ window.addEventLis

JSON API免费接口_ 免费的天气预报、地图、IP、手机信息查询、翻译、新闻

整理提供最新的各种免费JSON接口,其中有部分需要用JSONP调用。方面前端同学的学习或在网站中的使用电商接口淘宝商品搜索建议:http://suggest.taobao.com/sug?code=utf-8&q=商品关键字&callback=cb 用例 ps:callback是回调函数设定物流接口快递接口:http://www.kuaidi100.com/query?type=快递公司代号&postid=快递单号 测试用例 ps:快递公司编码:申通="shentong" EMS="ems" 顺丰="shunfeng" 圆通="y

有趣的Js面试题_如何让 (a == 1 && a == 2 && a == 3

前两天在网上看到了一道很有趣的题目,题目大意为:JS 环境下,如何让 a == 1 && a == 2 && a == 3 这个表达式返回 true ?。这道题目乍看之下似乎不太可能,因为在正常情况下,一个变量的值如果没有手动修改,在一个表达式中是不会变化的。当时我也冥思苦想很久,甚至一度怀疑这道题目的答案就是 不能。直到在 stackoverflow 上面竟然真的发现了解法 can-a-1-a-2-a-3-ever-evaluate-to-true。让这个表达式成为 true 的关