ES5及ES6、ES7 and so on

用ES6时间也不短了,ES7、ES8都已经出来了,新特性写起来就是比之前的好点。认识到旧的不足,才知道新的为什么会这样。 简单列下平常工作中用到的一些新特性。 let/const:替代全局变量,for循环。一些请求地址、全局变量、redux中。       解构赋值:变量互换赋值,this.data,this.state等等。函数参数默认值(ant design里面不少这样的)。      字符串:includes。      数值:Number.MAX_SAFE_INTEGER...

jQuery、React、Vue、小程序还有React Native

jQuery、React、Vue、小程序、React Native   生命周期 这几个里面都有,名字不同。 ref react中 ref 获取已经挂载的元素的 DOM 节点 wx:if  if-else 微信小程序里面的条件判断渲染和vue比较类似。react里面直接用原生js的三元运算符即可。 var that=this vue、小程序、react(rn)里面都有涉及到 v-show 、v-if 以及 display:none和visibility:hidden 严格来说,这个应该是CSS相关的内容。还有一个透...

JSON回顾

以下内容来自《javascript高级程序设计》第20章 JSON是一种数据格式,不从属于js。不支持变量、函数或对象实例,是一种表示结构化数据的格式。js字符串与json字符串的最大区别:json字符串必须使用双引号。 json的语法可表示以下三种类型的值: 简单值:与js相同的语法,但不支持undefined。如:5.  “hello”。 对象:无序的键值对。 数组:有序的值的列表。json数组没有变量和分号。对象和数组通常是json数...

《javascript高级程序设计》第13章 事件(一)

事件:文档或浏览器窗口中发生的一些特定的交互瞬间。可用侦听器来预订事件,以便事件发生时执行相关的代码,在传统软件工程中被称为观察员模式的模型。 13.1事件流 事件流描述的是从页面接收事件的顺序。 事件冒泡(IE) 事件开始由具体的元素接收(文档中嵌套层次最深的节点),然后逐级向上传播到较为不具体的节点(文档)。所有现代浏览器均支持。一直冒泡到window对象。 13.1.2 事件捕获 不太具体的节...

JavaScript中的跨域

ajax:XMLHttpRequest():不能跨域 1.主域与子域之间 document.domain='a.com'; 等于主域的网站 2.服务器代理:XMLHttpRequest代理文件 缺点‘:增加服务器压力。 3.script标签:jsonp jsonp:json+padding(内填充) 4.location.hash: iframe双域 b网站 <iframe src="123.php#key1=value1&key2=value3"> </iframe  > parent.location.hash=self.location.hash; 5.window.nam...

Javascript备忘录之Array 类型

ECMAScript 数组的每一项可以保存任何类型的数据, 大小是可以动态调整的。 数组的 length 属性不是只读 的。如果设置的length属性值大于数组项数的长度,新增项的值为undefined。可借用length属性在数组末尾添加新项。 数组最后一项的索引始终是[length-1],故,新的一项位置为length。 检测数组 Array.isArray()方法; push()方法,添加到数组末尾,返回修改后的数组的长度; pop()方法,从数组末尾移除最...

用css媒体查询、js等实现手机、平板横竖屏判断

//此为平板竖屏 @media (min-width: 768px) and (orientation: portrait) { body { background-color:cyan; } }   function judgeDirection(){ if(window.orientation==180||window.orientation === 0){ alert("手机为竖屏!"); } if(window.orientation==90||window.orientation==-90){ alert("手机为横屏!"); } } window.addEventListener("onorientationchange" in window ? "orientationchange" ...

《javascript权威指南》第15、16章脚本化文档、css-笔记

clip 定义元素的“裁剪区域 ”,只显示元素在区域内的部分。 没必要为每一个动态元素设置尺寸。 z-index只对兄弟元素,也就是同一个容器的子元素,应用层叠。。 css中的文本阴影也可以用定位实现。 图片 16.2 IE6-8怪异模式宽和高是包含内边距和边框宽度的。 边框盒模型适用于以百分比形式为元素设置总体尺寸,又想以像素单位指定边框和内边距时。box-sizing:border-box; visibility:hidden;设置为不可见,但...

《javascript语言精粹》摘要

  js中的函数是根据词法来划分作用域的 没有用的注释比没有注释更糟糕。 块级注释对于被注释 的代码来说是不安全的,用//代替/* */. js不允许使用保留字来命名变量或参数。更不允许在对象字面量中,或者用点运算符提取对象属性时,使用保留字作为对象的属性名。 js只有一个数字类型,没有分离出整数型,1和1.0的值是相同的。 NaN是一个数值,表示一个不能产生正常结果的运算结果。不等于任何值,包括...

《javascript DOM 编程艺术》读书笔记·第五、六章

平稳退化 graceful degradation   浏览器不支持javascript也可浏览。 window.open(url,name,features)三个参数均可选。 伪协议pseudo-protoco;伪协议是一种非标准化的协议, this可以用来代表任何一种当前元素。 if(!getElementById) return false; 浏览器嗅探browser sniffung 尽量减少文档中的标记数量。 浏览器每次从同一个域名中最多只能同时下载两个文件,且在下载脚本前几件,浏览器不会下载其他任何...