温故而知新--JavaScript书摘(二)】的更多相关文章

前言 毕业到入职腾讯已经差不多一年的时光了,接触了很多项目,也积累了很多实践经验,在处理问题的方式方法上有很大的提升.随着时间的增加,愈加发现基础知识的重要性,很多开发过程中遇到的问题都是由最基础的知识点遗忘造成,基础不牢,地动山摇.所以,就再次回归基础知识,重新学习JavaScript相关内容,加深对JavaScript语言本质的理解.日知其所亡,身为有追求的程序员,理应不断学习,不断拓展自己的知识边界.本系列文章是在此阶段产生的积累,以记录下以往没有关注的核心知识点,供后续查阅之用. 201…
前言 毕业到入职腾讯已经差不多一年的时光了,接触了很多项目,也积累了很多实践经验,在处理问题的方式方法上有很大的提升.随着时间的增加,愈加发现基础知识的重要性,很多开发过程中遇到的问题都是由最基础的知识点遗忘造成,基础不牢,地动山摇.所以,就再次回归基础知识,重新学习JavaScript相关内容,加深对JavaScript语言本质的理解.日知其所亡,身为有追求的程序员,理应不断学习,不断拓展自己的知识边界.本系列文章是在此阶段产生的积累,以记录下以往没有关注的核心知识点,供后续查阅之用. 201…
前言: 毕业到入职腾讯已经差不多一年的时光了,接触了很多项目,也积累了很多实践经验,在处理问题的方式方法上有很大的提升.随着时间的增加,愈加发现基础知识的重要性,很多开发过程中遇到的问题都是由最基础的知识点遗忘造成,基础不牢,地动山摇.所以,就再次回归基础知识,重新学习JavaScript相关内容,加深对JavaScript语言本质的理解.日知其所亡,身为有追求的程序员,理应不断学习,不断拓展自己的知识边界.本系列文章是在此阶段产生的积累,以记录下以往没有关注的核心知识点,供后续查阅之用. 20…
前言 人生总是直向前行走,从不留下什么. 原文地址:学习javascript数据结构(二)--链表 博主博客地址:Damonare的个人博客 正文 链表简介 上一篇博客-学习javascript数据结构(一)--栈和队列说了栈和队列在javascript中的实现,我们运用javascript提供的API很容易的实现了栈和队列,但这种数据结构有一个很明显的缺点,因为数组大小是固定的所以我们在移除或是添加一项数据的时候成本很高,基本都需要吧数据重排一次.(javascript的Array类方法虽然很…
除去五一三天,我已经和<JavaScript Dom编程艺术>磨合了六天,第一印象很好.慢慢的,我发现这是一块排骨,除了肉还有骨头.遇到不解的地方就会多看几遍,实在不懂的先跳过,毕竟,初次接触JS,没有必要花费过多时间去钻死胡同,先混个脸熟,以后再来拜访也未尝不可嘛.就这样,踉踉跄跄.囫囵吞枣似的已经过五关斩六将,到达第十一章. 书中有几个章节并没有从语法.技术等层面介绍JavaScript,而是站在一个全局的角度,立足编程原则和习惯道破了我们该如何看待和使用这门语言,主要有以下几点: Jav…
原文:从头开始学JavaScript (十二)--Array类型 一.数组的创建 注:ECMAscript数组的每一项都可以保存任何类型的数据 1.1Array构造函数 var colors = new Array(); 如果预先知道数组要保存的项目数量,也可以给构造函数传递该数量: var colors = new Array(20); 也可以向构造函数传递数组中应该包含的项: var colors = new Array("red", "blue", "…
使用javascript生成二维码 依赖jquery 需要使用到的库 https://github.com/davidshimjs/qrcodejs DIV <div id="qrcode"></div> javascript var qrcode = new QRCode("qrcode"); qrcode.makeCode("http://www.fengkaichang.com"); 至此一个简单的二维码就生成了 接…
有个前同事在群里问如何判断是否为同花顺我用javascript的二维数组写了个简易demo. <!DOCTYPE html> <html> <body> <script> /* 判断是否为顺子 */ function isStraight(arrs) { arrs.sort();//排序 var first = arrs[0][0]; //取出第一个最小的数 var index = 1;//从第二个开始索引 while(arrs.length > in…
 11.强制转换 强制转换主要指使用Number.String和Boolean三个构造函数,手动将各种类型的值,转换成数字.字符串或者布尔值. 1>Number强制转换 参数为原始类型值的转换规则: 原始类型的值主要是字符串.布尔值.undefined和null,它们都能被Number转成数值或NaN. NaN:not a number,当数学计算得不到数字结果时,该值就是NaN(Number类型). isNaN:判断变量是否为NaN. Number(324) 值:324 字符串如果可以被解析为…
Javascript面向对象二 可以通过指定原型属性来对所有的对象指定属性, Object.prototype.name="zhangsan"; Object.prototype.getType=function(){ var a=typeof(this); alert(a); } var o=new Object(); var o2={}; var d=new Date(); o.getType(); o2.getType(); d.getType(); alert(o.name);…
一 C#的二维码    示例: class Program { static void Main(string[] args) { QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode = new QrCode(); qrEncoder.TryEncode("菡,现在想起你,真的是太突然了,你跳个舞给我看嘛,能不能不要这么诱人啊,我已经逻辑混乱了", out qrCode); ; //大小…
JavaScript 设计模式(二) 本篇文章是 JavaScript 设计模式的第二篇文章,如果没有看过我上篇文章的读者,可以先看完 上篇文章 后再看这篇文章,当然两篇文章并没有过多的依赖性. 5. 代理模式 代理模式提供了对目标对象的另一种访问机制. 在 vue3 还没出来之前,我猜过可能会使用 proxy 取代 defineProperty ,结果也被验证了,毕竟 proxy 比 defineProperty 支持更多的拦截机制,可以对数组的方法进行拦截. const obj = {};…
网络上已经有非常多的二维码编码和解码工具和代码,很多都是服务器端的,也就是说需要一台服务器才能提供二维码的生成.本着对服务器性能的考虑,这种小事情都让服务器去做,感觉对不住服务器,尤其是对于大流量的网站,虽然有服务器端缓存,毕竟需要大量的CPU运算时间,这或多或少也是很大的一块压力.所以就想,有没有一种不靠服务器,就只靠JS就生成二维码呢,毕竟二维码就是一堆黑白点而已.我也没有刻意去找网络上是否已经存在这样的解决方案,而且自己一直想深入分析二维码的生成细节,现有的项目也有这样的需求,于是我自己研…
看案例前可以先看看基础篇:JavaScript 面向对象(一) —— 基础篇 案例——面向对象的选项卡:把面向过程的程序一步步改成面向对象的形式,使其能够更加的通用(但是通用的东西,一般会比较臃肿). 下面是一个简单的选项卡,也是我们常见的面向过程的创建形式. <!DOCTYPE html> <html> <head> <style> #tabBox input { background: #F6F3F3; border: 1px solid #FF0000…
一.解释说明 1.概述 setTimeout:在指定的延迟时间之后调用一个函数或者执行一个代码片段 setInterval:周期性地调用一个函数(function)或者执行一段代码. 2.语法 setTimeout: var timeoutID = window.setTimeout(func, delay, [param1, param2, ...]); var timeoutID = window.setTimeout(code, delay); timeoutID 是该延时操作的数字ID,…
本文将继续介绍canvas的功能,展示如何绘制更复杂的图形(包括圆弧和曲线),如何使用剪裁区域来限制操作以及如何绘制文本.还是介绍可以应用在画布上的特效和变换,包括阴影.透明度.旋转和坐标重映射. 1. 用路径绘图 路径本质上是一组独立的线条(被称为子路径),它们组合到一起构成图形.我们绘制子路径的方式就像用笔在纸上画图一样,笔尖不离开纸面:画布上的每一条子路径都以上一条的终点作为起点.下面展示了绘制基本路径的方法: 绘制一条路径的基本顺序如下: * 调用 beginPath方法: * 用 mo…
1. 开始使用 canvas 元素 canvas 元素非常简单,这是指它所有的功能都体现在一个JavaScript对象上,因此该元素本身只有两个属性:width 和 height. canvas 元素里的内容会在浏览器不支持此元素时作为备用内容显示.下面例子展示了canvas 元素和一些简单的备用内容. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"…
一.工厂模式 function createPerson(name,age){ var o = {}; o.name = name; o.age = age; o.sayHi = function(){ alert('my name is' + this.name); }; return o; } var p1 = createPerson('小明',10); var p2 = createPerson('小红',9); p1.sayHi(); p2.sayHi(); console.log(p…
Date类型 Javascript中的Date类型是采用Java中的java.util.Date类基础上构建的,使用UTC时间来保存数据,可以精确到1970年1月1日之前或之后的285616年 创建一个日期对象,使用new关键字加构造函数声明(日期对象也是引用类型的),在不给构造函数传递任何参数的情况下,新对象自动获取当前的日期和时间,如下: var nowTime=new Date(); document.write(nowTime); //ed Aug 27 2014 13:31:12 GM…
1.浏览器与事件事件通常是由浏览器所产生,不同的浏览器会产生的事件也有所不同,即使同一浏览器不同版本所产生的事件也有不同.以下为HTML4.01中的事件 2.error事件:它可以调用一个错误处理函数,error事件可以传递一下3个参数给错误处理函数,其他事件只能调用函数不能给函数传递参数.(1)第一个参数是详细的错误信息.(2)第二个参数是产生错误网页的url.(3)第三个参数是产生错误的行数.有错误而不显示错误如下:<script language="javascript"&…
•javascript之函数 •对于Ext开发者,我还是希望你能对javascript原生的东西非常了解.甚至熟练掌握运用.那么函数,无疑是非常重要的概念.首先在前面一讲,我们知道了函数也是一种数据类型,创建函数一共有三种方式.每种方式他们都会有区别,分别为: –function语句形式 –函数直接量形式 –构造函数形式 •函数中的arguments对象 –argument的作用一:接受函数的实际参数 –argument的作用二:用于做递归操作   栗子代码 //Function 函数 //前两…
  前  言 JRedu 上一篇博客中,我们介绍了JS中的面向对象,并详细的解释了this的指向问题.本篇博客,我们继续来学习JS的面向对象.来深入理解一下JavaScript OOP中的成员属性/方法.静态属性/方法.原型属性/方法,并且一起来探讨一下JS中的原型与原型链. 一 成员属性与成员方法 在构造函数中,通过this.属性声明.或者实例化出对象后,通过“对象.属性”追加的.都属于成员属性.或成员方法:也叫实例属性与实例方法 成员属性/方法,是属于实例化出的这个对象.通过"对象.属性&q…
[if-else结构] 1.结构的写法: if(判断条件){ 条件为true时,执行if{} } else{ 条件为false时,执行else{} } 2.注意事项: ① else{}语句块,可以根据情况进行省略. ② if和else后面的{}可以省略,但是省略后,if和else后面只能跟一条语句,所以不建议省略{}. 3. if中的()中的判断条件,支持的情况:① Bolleam:true为真,false为假:② String:空字符串为假,所有非空字符串为真:③ Number:0为假,一切非…
什么是 QRCode.js? QRCode.js 是一个用于生成二维码的 JavaScript 库.主要是通过获取 DOM 的标签,再通过 HTML5 Canvas 绘制而成,不依赖任何库. 基本用法 载入 JavaScript 文件 <script type="text/javascript" src="http://static.runoob.com/assets/qrcode/qrcode.min.js"></script> DOM结构…
在一个JS文件中引用另一个JS文件       转载地址:http://blog.csdn.net/zndxlxm/article/details/7875787 方法一 在调用文件的顶部加入下例代码: document.write("<script language=javascript src='js/import.js'></script>"); (注:有时你引用的文件还可能需要引用其他的js,我们需要将需要的那个js文件也以同样的方法引用进来) 方法二…
一.BOM是什么 BOM是browser object model的缩写,简称浏览器对象模型 BOM提供了独立于内容而与浏览器窗口进行交互的对象 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性 BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C BOM最初是Netscape浏览器标准的一部分 二.BOM学什么 BOM中,我们学到与浏览器窗口交互的一些对象,例如可以移…
创建 function 对象的两种方法: 方式一(推荐) function func1(){ alert(123); return 8 } var ret = func1() alert(ret) 方式二:var func2 = new Function("参数1", "参数n","函数体"); var add = new Function("a", "b", "alert(a+b)")…
1.引入一个二维码工具的js文件,同时需要引入jquery文件 下面是jquery.qrcode.min.js文件内容: (function(r){r.fn.qrcode=function(h){var s;function u(a){this.mode=s;this.data=a}function o(a,c){this.typeNumber=a;this.errorCorrectLevel=c;this.modules=null;this.moduleCount=0;this.dataCac…
一.变量 Javascript 有五种基本数据类型 number.String.boolean.undefined.null 一种复合类型:object 二.使用getElementById方法获取元素 方式一: 这里的元素,指html里的标签,通过内置docuement的 'getElementById' 方法获取页面上设置了 id 属性的元素, 获取一个html对象,并为其赋值, 先不赋值看个例子: <!DOCTYPE html> <html lang="en"&…
1.DOM a.作用:通过 HTML DOM,可访问 JavaScript HTML 文档的所有元素 b.功能: ①JavaScript 能够改变页面中的所有 HTML 元素 ②JavaScript 能够改变页面中的所有 HTML 属性 ③JavaScript 能够改变页面中的所有 CSS 样式 ④JavaScript 能够对页面中的所有事件做出反应 2.获取与更改 a.获取元素: var x=document.getElementById("intro"); //通过id获取元素 v…