JS
赵圆圆
这个作者很懒,什么都没留下…
展开
-
鼠标点击页面中的任意标签,alert该标签的名称和 js实现点击<li>标签弹出其索引值
方法一 : 在这里我们可以利用冒泡解决该问题 document.onclick = function(e){ var e=(e||event); var o=e["target"]||e["srcElement"]; alert(a.tagName.toLowerCase()); }方法二: 进行遍历 <!doctype html><html l转载 2017-05-20 20:17:36 · 3693 阅读 · 0 评论 -
字符串相关
字符串去重:思路: 1.创建一个新的数组存放结果 2.创建一个空对象 3.for循环时,每次取出一个元素与对象进行对比,如果这个元素不重复,则把它存放到结果数组中,同时把这个元素的内容作为对象的一个属性,并赋值为1,存入到第2步建立的对象中。 说明:至于如何对比,就是每次从原数组中取出一个元素,然后到对象中去访问这个属性,如果能访问到值,则说明重复。代码实现:Array.prototype.原创 2017-05-16 20:58:18 · 321 阅读 · 0 评论 -
javascript中对象的属性的特性
1.ES5的属性特性包括下面六个:configurable: 表示能否通过delete来删除属性从而重新定义属性,能够修改属性的特性,默认为true enumberable: 表示是否能通过for-in循环返回属性。默认为true writable: 是否可以修改属性, 默认为true value: 包含这个属性的数据值。读取属性值时3,从这个属性读,写入属性时,把新值保存到这个位置。默认值为转载 2017-12-06 17:07:55 · 437 阅读 · 0 评论 -
前端面试必备——跨浏览器的事件处理程序和事件对象
前言JavaScript与HTML交互都是靠事件完成的,而且事件的考察也是笔试和面试的一个重点,所以在笔试或者面试时,都会让面试者编写一个事件,一般都较为简单,但是此时面试官考察的不止是你编写代码能力,更看重你是否能注意到兼容性问题,所以在你编写时候,最好自己手写具有跨浏览器功能的事件处理程序或事件对象,这样能让面试官觉得你考虑问题比较全面。所以前面面试必备系列第二篇,带你来编写具转载 2018-01-15 19:01:07 · 654 阅读 · 0 评论 -
尾递归优化(es6)
function tco(f) { var value; var active = false; var accumulated = []; return function accumulator() { accumulated.push(arguments); if (!active) { active = true; while (ac...原创 2017-12-20 18:04:04 · 566 阅读 · 0 评论 -
JS捕获错误
JS的错误捕获一般有下面两种方式: 1. 异常捕获常用方法是 try/catch/ throw /finally 2. 全局捕获window.onerror1. try/catch/throw/finallytry{ //可能捕获到的错误 }catch(e){ //捕获到错误后的处理 }finally{ //完成后执行的语句块 } ...原创 2018-04-16 18:43:25 · 2214 阅读 · 0 评论 -
ES6的let与var区别
1.let是块级作用域,var不是{ let a = 1; var b = 2; }console.log(a); // ReferenceError: a is not definedconsole.log(b); // 22.let不存在变量提升console.log(foo); // 输出undefinedconsole.log(b...原创 2018-04-17 16:50:36 · 319 阅读 · 0 评论 -
JS在HTML中的加载顺序
HTML页面加载和解析流程 用户在地址栏第一次输入网址需要请求html页面,浏览器发送一个html页面的请求,服务器响应请求,并返回一个html页面 ;浏览器开始下载html页面的代码,发现<head>标签内有一个<link>标签引用外部CSS文件。浏览器又发出CSS文件的请求,服务器返回这个CSS文件。 浏览器继续载入html中<body>部分的代...原创 2018-04-23 17:53:36 · 526 阅读 · 0 评论 -
JavaScript的预解析
一、变量和函数在内存中的展示JavaScript中的变量类型和其他语言一样,有基本数据类型和引用数据类型。基本数据类型包括:undefined、null、boolean、String、Number;引用数据类型主要是对象(包括{}、[]、/^$/、Date、Function等)。var num = 24;var obj = {name:'iceman' , age:24};function fu转载 2017-05-20 19:35:26 · 412 阅读 · 0 评论 -
JS闭包被利用的常见场景
场景一:采用函数引用方式的setTimeout调用闭包的一个通常的用法是为一个在某一函数执行前先执行的函数提供参数。例如,在web环境中,一个函数作为setTimeout函数调用的第一个参数,是一种很常见的应用。setTimeout将要执行的函数(或者一段JavaScript代码,但这不是我们要讨论的情况)作为它的第一个参数,下一个参数是需要延迟执行的时间。 如果一段代码想通过setTimeout转载 2017-04-19 17:55:30 · 362 阅读 · 0 评论 -
纯js实现无缝轮播图
很多时候我们都会用到无缝轮播图,那么下面我就把无缝轮播献给大家1.左右无缝轮播<!DOCTYPE html ><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>图片左右无缝滚动的效果</title> <style type="text/cs原创 2017-02-21 16:59:12 · 7570 阅读 · 1 评论 -
js中top、clientTop、scrollTop、offsetTop的区别 文字详细说明版
- 网页可见区域宽: document.body.clientWidth; - 网页可见区域高: document.body.clientHeight; - 网页可见区域宽: document.body.offsetWidth (包括边线的宽); - 网页可见区域高: document.body.offsetHeight (包括边线的宽); - 网页正文全文宽: document.bo转载 2017-02-21 16:08:20 · 661 阅读 · 0 评论 -
纯js实现轮播图
这几天一直在看js动画,今天又get到了一个轮播图,使用纯js实现的,但是没有美化哈,需要的小伙伴自己美化喔 如下代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http:原创 2017-02-22 14:28:55 · 870 阅读 · 0 评论 -
slice() 与 splice()区别
slice()1.1(1)接受一个参数是:返回从该参数指定位置开始到当前数组末尾的所有项; (2)接受两个参数是:返回起始和结束位置之间的项,但是不包括结束位置的项。 注意: slice()不会影响原数组1.2start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。 end 紧原创 2017-03-30 13:27:27 · 1204 阅读 · 1 评论 -
js中数组与对象的区别
从结构上看,所有的数据(data)最终都可以分解成三种类型:第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如”北京”这个单独的词。第二种类型是序列(sequence),也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组(array)或列表(List),比如”北京,上海”。第三种类型是映射(mapping),也就是一个名/值对(Name/va转载 2017-04-11 17:39:30 · 629 阅读 · 0 评论 -
在js中基本类型与引用类型的详解
基本类型和引用类型 ECMAScript包含两个不同类型的值:基本类型值和引用类型值。基本类型值指的是简单的数据段;引用类型值指由多个值构成的对象。当我们把变量赋值给一个变量时,解析器首先要做的就是确认这个值是基本类型值还是引用类型值。常见的五种基本数据类型是: Undifined、Null、Boolean、Number和String。这五种基本数据类型可以直接操作保存在变量中的实际值。var转载 2017-04-12 22:09:53 · 929 阅读 · 0 评论 -
JS对象深复制和浅复制
有很多文章介绍了JS对象的深复制和浅复制,这篇文章主要是针对JS 的API进行分析,究竟是深复制还是浅复制 ;深复制和浅复制最根本的区别在于是否是真正获取了一个对象的复制实体,而不是引用, 1)深复制在计算机中开辟了一块内存地址用于存放复制的对象, 2)而浅复制仅仅是指向被复制的内存地址,如果原地址中对象被改变了,那么浅复制出来的对象也会相应改变。对象数组的方法splice(),s...原创 2018-04-23 18:19:07 · 345 阅读 · 0 评论