随笔分类 -  JS杂记

摘要:在ECMAScript5中没有块级作用域一说,只有函数作用域和全局作用域,在其中声明的变量和函数和其他语言的展现形式不同,在某些情况下不一定需要先定义后使用,函数和变量的使用可以在其声明之前,这到底是怎么回事呢?让我们一起揭开变量声明提前的神秘面纱!!! 一、变量声明提升 这题考的也是变量声明提升, 阅读全文
posted @ 2017-07-31 11:51 heshan珊 阅读(1504) 评论(0) 推荐(0)
摘要:模块功能主要由两个命令构成:export和import。export命令用于规定模块的对外接口,import命令用于输入其他模块提供的功能。 一、export导出模块使用部分的几种方式 一个模块就是一个独立的文件。该文件内部的所有变量,外部无法获取。如果你希望外部能够读取模块内部的某个变量,就必须使 阅读全文
posted @ 2017-06-26 18:44 heshan珊 阅读(632) 评论(0) 推荐(0)
摘要:JavaScript中检测对象的方法 1.typeof操作符 这种方法对于一些常用的类型来说那算是毫无压力,比如Function、String、Number、Undefined等,但是要是检测Array的对象就不起作用了。 利用typeof除了array和null判断为object外,其他的都可以正 阅读全文
posted @ 2017-06-01 10:38 heshan珊 阅读(55738) 评论(0) 推荐(3)
摘要:一、vue中的响应式属性 Vue中的数据实现响应式绑定 1、对象实现响应式: 是在初始化的时候利用definePrototype的定义set和get过滤器,在进行组件模板编译时实现water的监听搜集依赖项,当数据发生变化时在set中通过调用dep.notify进行发布通知,实现视图的更新。 2、数 阅读全文
posted @ 2017-05-19 11:39 heshan珊 阅读(4318) 评论(0) 推荐(0)
摘要:在我们点击一个网址,到它能够呈现在浏览器中,展示在我们面前,这个过程中,电脑里,网络上,究竟发生了什么事情。 服务器启动监听模式 那我们就开始了,故事其实并不是从在浏览器的地址栏输入一个网址,或者我们抓着鼠标点击一个链接开始,事情的开端要追溯到服务器启动监听服务的时候,在某个未知的时刻,一台机房里普 阅读全文
posted @ 2017-05-09 10:16 heshan珊 阅读(7724) 评论(0) 推荐(1)
摘要:1、用于保存页面信息:如自动登录,记住用户名 2、对于同一个网站只有一套cookie,它是以域名为单位的,一个域名就是一套,数量大小有限4k-10k,同时会具有过期时间 3、JS中通过document.cookie进行调用 a、设置:在cookie中利用document.cookie=”user=n 阅读全文
posted @ 2017-04-19 20:57 heshan珊 阅读(303) 评论(0) 推荐(0)
摘要:利用document.compatMode可以用来判断浏览器的模式是标准模式还是混杂模式, (1) CSS1Compat表示的是标准模式 (2) BackCompat表示的是混杂模式 不同的模式获取宽高的方式是不一样的,为了兼容一般要么对浏览器的工作模式加以判断严要么则是利用利用||运算兼容 标准模 阅读全文
posted @ 2017-04-19 20:39 heshan珊 阅读(269) 评论(0) 推荐(0)
摘要:实现瀑布流的要点: (1)等宽不等高 (2)可以利用懒加载 一、利用纯JS方式实现瀑布流: HTML文件如下: 2、CSS文件内容: 3.JS文件: 上诉的图片根据自己的图像的文件夹的位置而定:实现的效果如下所示: 二、利用CSS样式实现瀑布流布局(不过懒加载部分需要结合JS,基本的瀑布流的布局可以 阅读全文
posted @ 2017-04-19 19:44 heshan珊 阅读(356) 评论(0) 推荐(1)
摘要:0.从一道题说起 问,以上代码何时alert“end”呢? 测试一下:答案是:永远都不会alert。 解析:JavaScript引擎是单线程的,事件触发排队等候。所有任务按照触发时间先后排队处理。 上例中,排队的顺序状态是: | var t=true ; | while(t){}; | alert( 阅读全文
posted @ 2017-04-12 10:46 heshan珊 阅读(6098) 评论(21) 推荐(1)
摘要:一、JS为何是单线程的? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊。(在JAVA和c#中的异步均是通过多线程实现的,没有循环队列一说,直接在子线程中完成相关的操作) JavaScript的单线程 阅读全文
posted @ 2017-03-31 11:50 heshan珊 阅读(16576) 评论(0) 推荐(1)
摘要:一、属性的归属问题 JS对象中定义的属性和方法如果不是挂在原型链上的方法和属性(直接通过如类似x的方式进行定义)都只是在该对象上,对原型链上的没有影响。对于所有实例共用的方法可直接定义在原型链上这样实例化的的时候就不用对每个实例定义该属性方法,所有的实例均具有该方的引用见最后的输出。 二、JS中有关 阅读全文
posted @ 2017-03-23 20:31 heshan珊 阅读(1693) 评论(0) 推荐(0)
摘要:正则表达式中的exec和match方法的区别 字符串的正则方法有:match()、replace()、search()、split() 正则对象的方法有:exec()、test() 1.match match方法属于String正则表达方法. 语法: str.match(regexp) str:要进 阅读全文
posted @ 2017-01-07 13:33 heshan珊 阅读(10636) 评论(0) 推荐(1)
摘要:JS中的基本数据类型: String 、number、null、boolean、undefined、symbol(ES6) object是复杂数据类型 但是JS中的数据类型主要就是以上几种 1、 利用typeof运算符时其中只有null是异常的,typeof(null)=object,所以在判断变量 阅读全文
posted @ 2017-01-04 20:44 heshan珊 阅读(3068) 评论(0) 推荐(0)
摘要:1.slice(); Array和String对象都有 在Array中 slice(i,[j]) i为开始截取的索引值,负数代表从末尾算起的索引值,-1为倒数第一个元素 j为结束的索引值,缺省时则获取从i到末尾的所有元素 参数返回: 返回索引值从i到j的数组,原数组不改变 在String中 slic 阅读全文
posted @ 2016-11-16 20:41 heshan珊 阅读(3863) 评论(0) 推荐(2)
摘要:1.match match方法属于String正则表达方法. 语法: str.match(regexp) str:要进行匹配的字符串. regexp:一个正则表达式(或者由RegExp()构造成的正则表达式) match的用法主要区分就是,正则表达式是否有全局标示g. (1)如果有g全局标志,那么返 阅读全文
posted @ 2016-09-14 10:09 heshan珊 阅读(1147) 评论(0) 推荐(1)
摘要:JS的阻塞特性:当<script>出现的时候,页面必须等待脚本文件的加载、解析、执行完毕后才能继续进行页面的渲染。不管脚本文件是以内联形式还是外部引入的形式出现在<script>中,页面的加载和渲染都必须停下来等待脚本文件的执行完成。因为在脚本文件中可能会修改页面的内容。这就会出现一个问题,当HTM 阅读全文
posted @ 2016-08-01 13:00 heshan珊 阅读(1008) 评论(0) 推荐(0)
摘要:1、eval方法只能在非严格模式中进行使用,在use strict中是不允许使用这个方法的。 2、eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执行结果是一个值,则返回此值,否则返回undefined。 需要特别注意的是对象声明语法“{}”并不能返回一个值,需 阅读全文
posted @ 2016-07-19 19:51 heshan珊 阅读(10217) 评论(1) 推荐(0)
摘要:一、原生JS事件绑定方法: 1、通过HTML属性进行事件处理函数的绑定如: 2、通过JavaScript对象属性进行绑定: 通过以上这种方式进行事件函数的绑定有个缺点就是只能对一个元素的一个事件绑定一个事件处理程序,如 以上这种方式后面的事件处理程序会将前面的覆盖只会执行alert("second" 阅读全文
posted @ 2016-05-19 15:12 heshan珊 阅读(22214) 评论(0) 推荐(1)
摘要:$().ready()、$(handler)、$(document).ready(handler)均不是原生JS中的,都是jQuery中封装的方法。这些事件在当页面的dom节点加载完毕后就执行,无需等待页面中的图片等加载完成。DomContentLoaded是原生的表示在Dom节点加载完毕之后就执行 阅读全文
posted @ 2016-05-09 18:53 heshan珊 阅读(1475) 评论(0) 推荐(1)
摘要:对“捕获”和“冒泡”这两个概念,通常我们对冒泡了解和使用的会更多一些,因为在我们使用的所有浏览器中,都支持事件冒泡 ,即事件由子元素向祖先元素传播的,就 像气泡从水底向水面上浮一样。而在像firefox,chrome,safari这类所谓的标准浏览器中,事件传播通常是有三个阶段的:事件捕获阶段,事 阅读全文
posted @ 2016-05-09 09:02 heshan珊 阅读(13293) 评论(0) 推荐(4)