JavaScript

React state与props学习笔记

组件的状态与属性组件本质上是状态机,输入确定,输出一定确定。组件把状态与结果一一对应起来,组件中有state与prop(状态与属性)。属性(props)是由父组件传递给子组件的;状态(state)是子组件内部维护的数据,当状态发生变化的同时,组件也会进行更新。当状态发生转换时会触发不同的钩子函数,从而让开发者有机会做出相应。props属性的用法键值对:值可以有多种形式:字符

Ember.js入门教程、博文汇总

文章来源:http://blog.ddlisting.com网友@如影随形提意见说整个教程的目录,细想也是,整个网站的管理有点乱,很多东西都不知道放哪里找起来也不方便(太懒了,连个搜索都没有!),特此整理成一个目录,即方便自己查阅也方便其他人学习!两全其美,何乐而不为呢!当然如果有疑问、建议欢迎给我留言,或者你有更好的教程、网站请给我留言我会补上!祝各位good good

【underscore 源码解读】JavaScript 中如何判断两个元素是否 "相同"

Why underscore最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中。阅读一些著名框架类库的源码,就好像和一个个大师对话,你会学到很多。为什么是 underscore?最主要的原因是 underscore 简短精悍(约 1.5k 行),封装了 100 多个有用的方法,耦合度低,非常适合逐个方法阅读

JavaScript中只声明但没有初始化的变量和未声明的变量以及null/undefined的区别

只声明但没有初始化的变量和未声明的变量以及null/undefined的区别 1. 声明但没有初始化的变量 var aa; alert(aa); 浏览器会弹出窗口显示 undefined. 因为对于使用了 var 声明但没有进行初始化定义的变量, 其值默认为 undefined. 2. 未声明的变量(1) alert(aa); 浏览器不会弹出任何东西. 因为 aa 是没有声

那些年我们踩过的乱码坑

欢迎关注个人网站:http://www.iamaddy.net/2016/07/emoji-unicode-parser/前言这是一个由乱码引发的故事。抱歉我暂时找不到更加惨烈的图,请相信我,还有更目不忍视的画面。请看下图那些框框,那都是些什么鬼!这是要害死强迫症吗?如果同时看到几十个框,简直让人崩溃。问题来了,这究竟是些什么鬼?计算机编码既然是乱码,当然要看编码,那什么是

初步整理的关于 Progressive Web Apps 的资料

在 Twitter 上看到 Addy Osmani 发的视频被狂转, 开始注意https://twitter.com/addyosmani/status/734753297274306561https://speakerdeck.com/addyosmani/progressive-web-apps-across-all-frameworks之前几乎对这个词语没有印象, 看

《每周一点canvas动画》——移动物体(2)

本系列文章代码文件在上一节《每周一点canvas动画》——移动物体(1)中我们介绍了如何捕获一个物体,并且对物体进行拖拽。首先,我们在小球的原型对象上添加了一个方法getBounds(),该方法的作用是返回一个对象,该对象内包含小球的坐标和长宽属性值,并且在我们的工具函数utils.js中也添加了一个方法containPoints(rect, x, y),该方法传入3个参数

如何用 JavaScript 下载文件

简介我们知道,下载文件是一个非常常见的需求,但由于浏览器的安全策略的限制,我们通常只能通过一个额外的页面,访问某个文件的 url 来实现下载功能,但是这种用户体验非常不好。幸好,HTML 5 里面为 标签添加了一个 download 的属性,我们可以轻易的利用它来实现下载功能,再也不需要用以前的笨办法了。原理我们先看看 download 的使用方法:Download fi

关于浮动与清除浮动,你应该知道的

我在做页面布局的时候,多多少少总会受到来自浮动的困扰,因此专门通过实践来总结一下浮动与清除浮动。首先总结几个基础的概念:浮动:设置浮动的元素会脱离文档流,不会影响块元素的布局,但是会影响内联元素的排列[通常是文本];文档流:在文档流中,块元素会单个元素独占一行接下来我们通过实际演示来看看关于浮动的那些事儿。下面是5个div块元素在文档流中一次排列我们知道浮动元素有几个规律如

javascript的多种数据类型转换

//数字类型转字符串 3中方法 {var a = 123;var b = 12323;var c = 456;console.log(typeof(a + ""));console.log(typeof String(b).toString());console.log(typeof c.toString()); }//判断是否是数字 {var a = 1233;var