51dev.com IT技术开发者社区

51dev.com 技术开发者社区

javascript

Javascript DOM操作与html字符串操作效率比较

Javascript DOM操作与html字符串操作效率比较

 一直在迷惑一个问题,那就是HTML(XHTML)他即是一个文本字符串,又是一个DOM对象,以前做东西的时候由于我对html比较熟悉,很多地方就直接使用写好的HTML字符串进行插入,例如插入一个含有内容的DIV,就直接拼接好字符串之后再将整个字符串赋给对应的DIV的innerHTML,而是不使用Javscri...

Javascript学习

Javascript学习

    1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。 ...

javascript判断两个日期是否相等

javascript判断两个日期是否相等

vardatenow=dt.getFullYear()+"-"+(dt.getMonth()+1)+"-"+dt.getDate()+"00:00:00";varendTime=newDate(Date.parse(datenow));varendTime=newDate(Date.parse(datenow));va...

JavaScript算法模式——动态规划和贪心算法

JavaScript算法模式——动态规划和贪心算法

  动态规划(DynamicProgramming,DP)是一种将复杂问题分解成更小的子问题来解决的优化算法。下面有一些用动态规划来解决实际问题的算法:最少硬币找零  给定一组硬币的面额,以及要找零的钱数,计算出符合找零钱数的最少硬币数量。例如,美国硬币面额有1、5、10、25这四种面额,如果要找36美分的零钱,则得出...

JavaScript算法实现——排序

JavaScript算法实现——排序

  在计算机编程中,排序算法是最常用的算法之一,本文介绍了几种常见的排序算法以及它们之间的差异和复杂度。  冒泡排序应该是最简单的排序算法了,在所有讲解计算机编程和数据结构的课程中,无一例外都会拿冒泡排序作为开篇来讲解排序的原理。冒泡排序理解起来也很容易,就是两个嵌套循环遍历数组,对数组中的元素两两进行比较,如果前者比...

JavaScript数据结构——图的实现

JavaScript数据结构——图的实现

  在计算机科学中,图是一种网络结构的抽象模型,它是一组由边连接的顶点组成。一个图G=(V,E)由以下元素组成:V:一组顶点E:一组边,连接V中的顶点  下图表示了一个图的结构:  在介绍如何用JavaScript实现图之前,我们先介绍一些和图相关的术语。  如上图所示,由一条边连接在一起的顶点称为相邻顶点,A和B是相...

JavaScript数据结构——树的实现

JavaScript数据结构——树的实现

  在计算机科学中,树是一种十分重要的数据结构。树被描述为一种分层数据抽象模型,常用来描述数据间的层级关系和组织结构。树也是一种非顺序的数据结构。下图展示了树的定义:  在介绍如何用JavaScript实现树之前,我们先介绍一些和树相关的术语。  如上图所示,一棵完整的树包含一个位于树顶部的节点,称之为根节点(11),...

JavaScript数据结构——字典和散列表的实现

JavaScript数据结构——字典和散列表的实现

  在前一篇文章中,我们介绍了如何在JavaScript中实现集合。字典和集合的主要区别就在于,集合中数据是以[值,值]的形式保存的,我们只关心值本身;而在字典和散列表中数据是以[键,值]的形式保存的,键不能重复,我们不仅关心键,也关心键所对应的值。  我们也可以把字典称之为映射表。由于字典和集合很相似,我们可以在前一...

JavaScript数据结构——集合的实现与应用

JavaScript数据结构——集合的实现与应用

  与数学中的集合概念类似,集合由一组无序的元素组成,且集合中的每个元素都是唯一存在的。可以回顾一下中学数学中集合的概念,我们这里所要定义的集合也具有空集(即集合的内容为空)、交集、并集、差集、子集的特性。  在ES6中,原生的Set类已经实现了集合的全部特性,稍后我们会介绍它的用法。  我们使用JavaSctipt的...

JavaScript数据结构——链表的实现与应用

JavaScript数据结构——链表的实现与应用

  链表用来存储有序的元素集合,与数组不同,链表中的元素并非保存在连续的存储空间内,每个元素由一个存储元素本身的节点和一个指向下一个元素的指针构成。当要移动或删除元素时,只需要修改相应元素上的指针就可以了。对链表元素的操作要比对数组元素的操作效率更高。下面是链表数据结构的示意图:  要实现链表数据结构,关键在于保存he...

JavaScript数据结构——队列的实现与应用

JavaScript数据结构——队列的实现与应用

  队列与栈不同,它遵从先进先出(FIFO——FirstInFirstOut)原则,新添加的元素排在队列的尾部,元素只能从队列头部移除。  我们在前一篇文章中描述了如何用JavaScript来实现栈这种数据结构,这里我们对应地来实现队列。functionQueue(){letitems=[];/...

JavaScript数据结构——栈的实现与应用

JavaScript数据结构——栈的实现与应用

  在计算机编程中,栈是一种很常见的数据结构,它遵从后进先出(LIFO——LastInFirstOut)原则,新添加或待删除的元素保存在栈的同一端,称作栈顶,另一端称作栈底。在栈中,新元素总是靠近栈顶,而旧元素总是接近栈底。  让我们来看看在JavaScript中如何实现栈这种数据结构。func...

JavaScript中的类继承

JavaScript中的类继承

  JavaScript是一个无class的面向对象语言,它使用原型继承而非类继承。这会让那些使用传统面向对象语言如C++和Java的程序员们感到困惑。正如我们所看到的,JavaScript的原型继承比类继承具有更强的表现力。  但首先,要搞清楚我们为什么如此关注继承?主要有两个原因。首先是方便类型的转换。我们希望语言...

Javascript模块化编程:require.js的用法

Javascript模块化编程:require.js的用法

一、为什么要用require.js?最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载。下面的网页代码,相信很多人都见过。  <scriptsrc="1.js"></script>  <scr...

javascript组件的基本结构

javascript组件的基本结构

1(function(window,undefined){2functionJsClassName(cfg){3varconfig=cfg||{};4this.get=function(n){5returnconfig[n];6}7this.set=function(n,v){8config[n]=v;9}10this...