
javascript
旗smile
这个作者很懒,什么都没留下…
展开
-
考察JS基础的一些题目
一 、arguments(function(){ return typeof arguments; //object})();arguments是每个函数都有的内置对象,和数组十分相似,但又不是数组,arguments对应的是函数传入的参数列表。二、函数名var f=function g(){return 1;};typeof g(); //报错 g is no原创 2016-08-03 15:36:27 · 942 阅读 · 0 评论 -
js、jQuery获取页面中的各种宽度和高度
在JavaScript和jQuery中,对获取各种高度和宽度都有定义方法和属性,下面我们主要来说明一下获取窗口和文档的高度(宽度与高度相同)。jQuery中的方法 $(document).height();//整个网页的高度 $(window).height();//浏览器可视窗口的高度 $(window).scrollTop();//浏览器可视窗口顶端距离网页顶端的高度(垂直原创 2016-08-25 14:56:55 · 7676 阅读 · 0 评论 -
js操作cookie的方法
cookiecookie,有时候也用其复数形式Cookies,指某些网站为了辨别用户身份,进行session跟踪而储存在用户本地终端上的数据(经常通过加密)。定义于RFC2109和2965都已废弃,最新取代的规范是RFC6265。cookie的作用服务器可以利用Cookie包含信息的任意性来筛选经常性维护这些信息,以判断在HTTP传输中的状态。Cookie最典型的英语是判断注册用户是否已经登录网站,原创 2016-09-18 16:16:13 · 1145 阅读 · 0 评论 -
JavaScript性能优化技巧之函数节流
在写上一篇获取宽高度的博客的时候发现了一个问题,设置了$(window).resize()和$(window).scroll()的时候,函数调用的次数特别频繁,因为我写博客只是为了展现一个简单的例子,所以函数特别简单,但是当函数比较复杂的时候,那么频繁的调用这个函数将会对性能有特别大的损耗。 再写了简单的例子展现一下这个问题吧:var n = 1;$(window).resize(fu原创 2016-08-26 15:34:31 · 5057 阅读 · 2 评论 -
javascript中的深复制
javascript深拷贝是初学者甚至有经验的开发着,都会经常遇到问题,并不能很好的理解javascript的深拷贝。 深拷贝(deepClone)是神马,与深拷贝相对应的就是浅拷贝,刚开始我也没弄懂。 在很多情况下,我们都需要给变量赋值,给内存地址赋予一个值,但是在赋值引用值类型的时候,只是共享一个内存区域,导致赋值的时候,还跟之前的值保持一直性。看一个具体的例子// 给t原创 2016-09-06 12:22:58 · 1906 阅读 · 0 评论 -
五个典型的JavaScript面试题
本文转载自:众成翻译 译者:cherryvenus 链接:http://www.zcfy.cc/article/1960 原文:https://www.sitepoint.com/5-typical-javascript-interview-exercises/在IT界,需要大量的javascript开发者。如果这个角色能够最佳地展现你的能力,那么你有许多机会换家公司,以及提高薪转载 2016-12-12 09:39:30 · 5637 阅读 · 1 评论 -
HTML5——sessionStorage和localStorage
html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage。 sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。 而localStorage用于持久原创 2016-09-28 13:01:17 · 3353 阅读 · 0 评论 -
HTML5 <script>标签中的async和defer
在HTML中执行脚本最重要的方法就是使用<script>元素,但是执行<script>元素时会阻塞后面文档的加载,为了解决这个问题HTML5为<script>元素添加了async和defer属性。一、浏览器加载到<script>元素,没有设置async或者defer<script src="main.js"></script>浏览器执行到这个元素的时候会立即下载src所指向的脚本并且执行,在执行完该原创 2016-08-09 11:54:20 · 957 阅读 · 0 评论 -
js实现一个可以兼容PC端和移动端的div拖动效果
前段时间写了一个简单的div拖动效果,不料昨天项目上正好需要一个相差不多的需求,就正好用上了,但是在移动端的时候却碰到了问题,拖动时候用到的三个事件:mousedown、mousemove、mouseup在移动端都不起任何作用。毕竟移动端是没有鼠标的,查资料后发现,在移动端与之相对应的分别是:touchstart、touchmove、touchend事件。还有一点要注意的是在PC端获取当前鼠标的坐标原创 2016-12-09 12:06:49 · 19304 阅读 · 6 评论 -
JavaScript 变量提升
回归基础: JavaScript 变量提升(Hoisting)变量声明是所有的编程语言中最基础部分之一。然而,JavaScript 有一个怪异点,称之为变量提升(hositing),这个能够让一个看上去无关紧要的声明变成一个小bug。这篇文章解释了变量提升(hositing)是什么,以及你该如何避免这个大坑。JavaScript 是特别灵活的语言,几乎允许你在任何地方声明变量。比如,下方的立即执行函原创 2016-12-15 09:49:33 · 4506 阅读 · 0 评论 -
30分钟掌握ES6/ES2015核心内容
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准。因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015。也就是说,ES6就是ES2015。虽然目前并不是所有浏览器都能兼容ES6全部特性,但越来越多的程序员在实际项目当中已经开始使用ES6了。所以就算你现在不打算使用ES6,但为了看懂别人的你也该懂点ES6的语法了…在我们正式讲解ES6语原创 2016-12-23 16:40:18 · 7066 阅读 · 0 评论 -
Ajax语法浅析
Ajax简介 Ajax全称为”Asynchronous Javascript And XML”,即”异步的Javascript和XML”的意思。通过Ajax我们可以像服务器发送请求,在不阻塞页面的情况下进行数据交互,也可以理解为异步数据传输。在Ajax的帮助下我们的网页只需要局部刷新即可更新数据的显示,减少了不必要的数据量,大大提高了用户体验,缩短了等待的视觉,使得web应用程序更小原创 2016-09-14 14:25:54 · 1240 阅读 · 0 评论 -
JavaScript模块化
随着互联网行业的发展,网页中的js脚本代码越来越庞大,现在一个庞大的网页体系也需要像桌面程序一样进行团队分工协作完成,开发者不得不使用软件工程的方法,管理网页的业务逻辑。 所以现在JavaScript的模块化编程是必不可少的,开发者只需要完成业务的核心逻辑,引入其他的模块即可。但是JavaScript语言本身没有提供模块化的功能(在ECMAScript2015标准已经支持,但还需很长时间原创 2016-08-10 10:39:38 · 688 阅读 · 0 评论 -
ajax的过程
AJAX=Asynchronous JavaScript and XML(异步的JavaScript和XML) AJAX不是一种新的语言,而是一种使用现有标准的新方法。 AJAX在不重新加载整个页面的情况下,实现与服务器的数据交换刷新局部页面。详细过程:创建XMLHttpRequest对象,也就是创建一个异步调用对象创建一个新的HTTP请求,并指定请求方式、URL、是否异步调用设置响应HT原创 2016-08-03 22:30:13 · 1638 阅读 · 0 评论 -
JavaScript中的对象,如何创建对象,创建对象的7种模式
ECMA-262把对象定义为:”无需属性的集合,其属性可以包含基本值、对象或者函数。”严格来讲,这就相当于说明对象是一组没有特定顺序的值。对象的每个属性或方法都有一个名字,而每个名字都映射到一个值。正因为这样,我们可以把ECMAScript的对象想象成散列表:无非就是一组名对值,其中值可以是数据或函数。 创建自定义对象最简单的方式就是创建一个Object的实例,然后再为他添加属性和方原创 2016-08-14 16:33:32 · 14807 阅读 · 6 评论 -
JavaScript停止冒泡事件和阻止默认事件
事件冒泡和事件捕获事件冒泡: 当事件在某一个DOM元素上触发时,先触发最具体的元素,然后依次向上触发父级元素的事件。例如一个div里面嵌套一个p元素,p元素里面嵌套一个button,当点击button时,会依次触发button、p、div上的点击事件。事件捕获: 当触发某个DOM元素时,会先出发根元素的事件,然后按照该DOM元素的祖先次序依次触发事件,最后再触发该元素的事件。顺序与事件冒泡的执行顺序原创 2016-08-05 13:26:58 · 2596 阅读 · 0 评论 -
总结一下最近学到的10个JS技巧
记录一些常用的JavaScript技巧1.使用!!操作符转换Boolean值当我们要检验一个值是否为true或false时,可使用!!来快速转换为布尔值,如果值为0、NaN、null、undefined、""时,返回false,其余值返回true。 var a='123'; var b=0; console.log(!!a); //true原创 2016-08-02 11:00:24 · 1330 阅读 · 0 评论 -
JS中的onload事件和jQuery中的ready事件,如何用JS实现jQuery中的ready
浏览器加载页面的顺序解析HTML结构加载外部脚本和样式表文件解析并执行脚本程序构造HTML DOM结构 ready事件执行加载图片等组件页面加载完毕 load事件执行load事件: 在所有页面加载完毕执行,包括DOM、图片、iframe等组件。 ready事件 在DOM加载完毕后执行。 先来看一个实例:<!原创 2016-08-05 17:13:11 · 608 阅读 · 0 评论 -
jQuery自定义插件
jQuery是一个功能强大的库,提供了开发JavaScript项目所需的所有核心函数。然而,有时候我们还是需要使用自定义代码来扩展这些核心函数来提高开发效率。 jQuery库是为了加快JavaScript的开发速度而设计的,通过简化编写JavaScript的方式,减少代码量。jQuery编写插件有两种方式 1.添加jQuery对象级别的插件,原理是给jQuery类添加方法。 写法如下:(fun原创 2016-08-07 14:07:44 · 671 阅读 · 0 评论 -
JavaScript执行机制之执行顺序
JavaScript是一种描述型的脚本语言,不同于C#或者java,它不需要进行编译成中间语言,而是由浏览器动态的解析和执行。今天我们就来说一个JavaScript是如何解析的,它的执行顺序是怎么样的?在此之前,我们先来了解几个术语。一、代码块 JavaScript中的代码块是指由<Script>标签分割的代码块。例如:<script>console.log("这是代码块一");</原创 2016-08-19 13:39:44 · 11626 阅读 · 4 评论 -
JavaScript闭包的理解
闭包(closure)是JavaScript语言的一个特点,要实现很多的高级功能都需要用到闭包。简单的说,闭包就是可以访问其他函数内部变量的函数。1.变量的作用域首先来了解一下JS里面变量的作用域,JS变量的作用域有两种,全局变量和局部变量,下面来了解一下他们可以在哪些地方被访问。var n=123;function al(){ console.log(n);}al();//输出为:原创 2016-08-08 15:09:04 · 469 阅读 · 0 评论 -
理解Function.prototype.bind
bind()方法会创建一个新的函数,成为绑定函数。当调用这个绑定函数时,绑定函数会以创建它时传入的第一个参数作为this,传入bind()方法的第二个以及以后的参数加上绑定函数运行时本身的参数按照顺序作为原函数的参数来调取原函数。 实际使用中我们经常会碰到这样的问题:var name = "pig";function Person(name){ this.name = name原创 2016-08-30 12:55:41 · 3058 阅读 · 1 评论 -
JavaScript中的本地对象、内置对象和宿主对象
初学JavaScript的时候总是分不清什么是本地对象、内置对象和宿主对象,现在写一篇博客来记录一下。一、本地对象ECMA-262把本地对象(native object)定义为:独立于宿主环境的ECMAScript实现的对象。 这里简单说一下JavaScript的应用环境,JavaScript的应用环境由宿主环境和运行期环境构成。宿主环境主要是指外壳程序(shell)和Web浏览器等,运行期环境由原创 2016-08-09 14:29:04 · 6733 阅读 · 0 评论 -
探索setTimeout
其实说起JavaScript中的定时器(Timer)中的 setTimeout() 方法,从事开发的同学想必都不会陌生,觉得这些东西很简单很基础。但是有时候恰恰是基础简单的东西,才越容易被忽略。先看一段代码:console.log("start");setTimeout(function(){ console.log("world")},200);setTimeout(function()原创 2016-12-27 17:22:28 · 6714 阅读 · 0 评论