对象数组

JavaScript的基础学习(一)

只愿长相守 提交于 2020-03-19 08:55:14
一、JavaScript概述 JavaScript 的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Netscape(网景)接收Nombas的理念,( Brendan Eich) 在其Netscape Navigator 2.0产品中开发出一套livescript的脚本语言.Sun和Netscape共同完成.后改名叫Javascript 微软随后模仿在其IE3.0的产品中搭载了一个JavaScript的克隆版叫Jscript. 为了统一三家,ECMA( 欧洲计算机制造协会)定义了ECMA-262规范.国际标准化组织及国际电工委员会(ISO/IEC)也采纳 ECMAScript 作为标准(ISO/IEC-16262)。从此,Web 浏览器就开始努力(虽然有着不同的程度的成功和失败)将 ECMAScript 作为 JavaScript 实现的基础。EcmaScript是规范. ECMAScript 尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的: 核心(ECMAScript) 文档对象模型(DOM)

3.前端笔记之JavaScript基础

只谈情不闲聊 提交于 2020-03-19 08:12:45
作者:刘耀 部分内容参考一下链接 参考: http://www.cnblogs.com/wupeiqi/articles/5369773.html http://javascript.ruanyifeng.com/oop/basic.html http://www.cnblogs.com/gaojun/archive/2013/10/24/3386552.html 一、JavaScript简介 JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。 二、组成部分 ECMAScript,描述了该语言的语法和基本对象 文档对象模型(DOM),描述处理网页内容的方法和接口。 浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。 三、一些简单案例 注:显示结果请自行测试 1.简单的html输出 <script> document.write('<h1>我是你耀哥</h1>') </script> 此脚本请在开头测试,如果在尾部测试,那么会覆盖整个html页面 2.简单的点击按钮弹出提示 <!DOCTYPE html> <html> <head lang="en">

javascript基础

一笑奈何 提交于 2020-03-19 08:09:38
一:引入方式 {#1 直接编写#} <script> alert('hello yuan') </script> {#2 导入文件#} <script src="hello.js"></script>  1.声明变量时不用声明变量类型. 全都使用var关键字;   var valuable;   var name="yn", age=20, job="lecturer"; 2.函数声明   funciton method_name(){} function add() { } var x=16; var y=18; alert(x+y); 3. 声明变量时 可以不用var. 如果不用var 那么它是全局变量    4. 注释 支持多行注释和单行注释. /* */ // 5.JavaScript语言中代表特定含义的词称为保留字,不允许程序再定义为标识符 数字类型(Number) 字符串(String) 布尔型(Boolean) true/false Null & Undefined Undefined 类型 Undefined 类型只有一个值,即 undefined。当声明的变量未初始化时,该变量的默认值是 undefined。 当函数无明确返回值时,返回的也是值 "undefined"; Null 类型 如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是 null。

对象的扩展

巧了我就是萌 提交于 2020-03-19 04:34:35
属性的简洁表示法 ES6 允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。 const foo = 'bar'; const baz = {foo}; baz // {foo: "bar"} // 等同于 const baz = {foo: foo}; 上面代码表明,ES6 允许在对象之中,直接写变量。这时,属性名为变量名, 属性值为变量的值。下面是另一个例子。 function f(x, y) { return {x, y}; } // 等同于 function f(x, y) { return {x: x, y: y}; } f(1, 2) // Object {x: 1, y: 2} 除了属性简写,方法也可以简写。 const o = { method() { return "Hello!"; } }; // 等同于 const o = { method: function() { return "Hello!"; } }; 下面是一个实际的例子。 let birth = '2000/01/01'; const Person = { name: '张三', //等同于birth: birth birth, // 等同于hello: function ()... hello() { console.log('我的名字是', this.name); } };

SOCKET模型之重叠I/O篇(转贴)

浪子不回头ぞ 提交于 2020-03-19 02:54:07
SOCKET模型之重叠I/O篇(转贴) 本文配套的示例源码下载地址 (VC.net 2003编写的多客户端MFC代码,配有详尽注释,只是简单的显示一下客户端发来的字符,稍加改进就是个聊天室了): http://www.haha567.com/PiggyXP/OverlappedModel.rar (unix系统,千万注意链接大小写) (本文假设你已经具备用SOCKET简单模型编程的能力,如果对SOCKET一无所知请关注本系列其他文章) 目录: 1. 重叠模型的优点 2. 重叠模型的基本原理 3. 关于重叠模型的基础知识 4. 重叠模型的实现步骤 5. 多客户端情况的注意事项 一. 重叠模型的优点 1. 可以运行在支持Winsock2的所有Windows平台 ,而不像完成端口只是支持NT系统。 2. 比起阻塞、select、WSAAsyncSelect以及WSAEventSelect等模型,重叠I/O(Overlapped I/O)模型使应用程序能达到更佳的系统性能。 因为它和这4种模型不同的是,使用重叠模型的应用程序通知缓冲区收发系统直接使用数据,也就是说,如果应用程序投递了一个10KB大小的缓冲区来接收数据,且数据已经到达套接字,则该数据将直接被拷贝到投递的缓冲区。 而这4种模型种,数据到达并拷贝到单套接字接收缓冲区中,此时应用程序会被告知可以读入的容量

java I/O库中设计模式的应用

南楼画角 提交于 2020-03-18 22:53:08
3 月,跳不动了?>>> 在java语言 I/O库的设计中,使用了两个结构模式,即装饰模式和适配器模式。 在任何一种计算机语言中,输入/输出都是一个很重要的部分。与一般的计算机语言相比,java将输入/输出的功能和使用范畴做了很大的扩充。因此输入输出在java语言中占有极为重要的位置。 java语言采用流的机制来实现输入/输出。所谓流,就是数据的有序排列,流可以是从某个源(称为流源,或者 Source of Stream)出来,到某个目的(Sink of Stream)地去。根据流的方向可以将流分成输出流和输入流。程序通过输入流读取数据,想输出流写出数据。 例如:一个java程序可以使用FileInputStream类从一个磁盘文件读取数据,如下图: 像FileInputStream这样的处理器叫流处理器。一个流处理器就像一个流的管道一样,从一个流源吸入某种类型的数据,并输出某种类型的数据。上面的示意图叫流的管道图。 类似地,也可以用FileOutputStream类向一个磁盘文件写数据,如下图: 在实际的应用当中,这样简单的机制并没有太大的用处。程序需要写出的往往是非常结构话的信息,因此这些Byte类型的数据实际上是一些数字、文字、源代码等。java的I/O库提供了一个称作链接(Chaining)的机制,可以将一个流处理器与另一个流处理器首尾相接,以其中之一的输出为输入

怎么判断一个对象是不是数组类型?

耗尽温柔 提交于 2020-03-18 22:47:28
前面《变量的赋值和对象的赋值》中有用到typeof运算符去判断运算数的类型,结果如下:  1 2 3 4 5 6 7 8 alert( typeof 1); // 返回字符串"number" alert( typeof "1" ); // 返回字符串"string" alert( typeof true ); // 返回字符串"boolean" alert( typeof {}); // 返回字符串"object" alert( typeof []); // 返回字符串"object " alert( typeof function (){}); // 返回字符串"function" alert( typeof null ); // 返回字符串"object" alert( typeof undefined); // 返回字符串"undefined"   其中,typeof {}和typeof []的结果都是object,那么问题来了,我怎么通过typeof去判断一个对象是不是数组类型呢? 对象是对象,数组也是对象,js中万物皆对象,很显然,通过简单的typeof运算符是不能够达到目的,我们得换个方法。 可以尝试以下几种方法: 1、从原型入手,Array.prototype.isPrototypeOf(obj); 利用isPrototypeOf()方法

js array对象

最后都变了- 提交于 2020-03-18 22:11:22
js array对象 Array 数组对象 数组对象是一个对象的集合,里边的对象可以是不同类型的。数组的每一个成员对象都有一个“下标”,用来表示它在数组中的位置,是从零开始的 数组定义的方法: 1. 定义了一个空数组: var 数组名= new Array(); 2. 定义时指定有n个空元素的数组: var 数组名 =new Array(n); 3.定义数组的时候,直接初始化数据: var 数组名 = [<元素1>, <元素2>, <元素3>...]; 我们定义myArray数组,并赋值, 代码如下: var myArray = [2, 8, 6]; 说明: 定义了一个数组 myArray,里边的元素是:myArray[0] = 2; myArray[1] = 8; myArray[2] = 6。 数组元素使用: 数组名[下标] = 值; 注意: 数组的下标用方括号括起来,从0开始。 数组属性: length 用法:<数组对象>.length;返回:数组的长度,即数组里有多少个元素。它等于数组里最后一个元素的下标加一。 数组方法: 数组连接concat() concat() 方法用于连接两个或多个数组。此方法返回一个新数组,不改变原来的数组。 语法 arrayObject.concat(array1,array2,...,arrayN) 参数说明: 注意: 该方法不会改变现有的数组

JS内置对象

假如想象 提交于 2020-03-18 21:58:27
1.什么是对象 JavaScript 中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有 属性 和 方法 。 对象的属性: 反映该对象某些特定的性质的,如:字符串的长度、图像的长宽等; 对象的方法: 能够在对象上执行的动作。例如,表单的“提交”(Submit),时间的“获取”(getYear)等; JavaScript 提供多个内建对象,比如 String、Date、Array 等等,使用对象前先定义,如下使用数组对象: var objectName =new Array();//使用new关键字定义对象 或者 var objectName =[]; 访问对象属性的语法: objectName.propertyName 如使用 Array 对象的 length 属性来获得数组的长度: var myarray=new Array(6);//定义数组对象 var myl=myarray.length;//访问数组长度length属性 以上代码执行后,myl的值将是:6 访问对象的方法: objectName.methodName() 如使用string 对象的 toUpperCase() 方法来将文本转换为大写: var mystr="Hello world!";//创建一个字符串 var request=mystr.toUpperCase(); //使用字符串对象方法

读jQuery源码 - Deferred

烂漫一生 提交于 2020-03-18 11:13:47
Deferred 首次出现在 jQuery 1.5 中,在 jQuery 1.8 之后被改写,它的出现抹平了javascript中的大量回调产生的金字塔,提供了异步编程的能力,它主要服役于 jQuery.ajax 。 Deferred 就是让一组函数在合适的时机执行,在成功时候执行成功的函数系列,在失败的时候执行失败的函数系列,这就是 Deferred 的本质。简单的说,模型上可以规划为两个数组来承接不同状态的函数——数组 resolve 里的函数列表在成功状态下触发, reject 中的函数在失败状态下触发。 本文原创于 linkFly , 原文地址 。 这篇文章主要分为以下知识,和上一篇博文《 读jQuery源码之 - Callbacks 》关联。 什么是Deferred jQuery.Deferred的Promise Deferred的模型与工作原理 jQuery.Deferred的实现 jQuery.Deferred的then() 什么是Deferred 初窥Deferred Deferred本身就是承接一组函数,在异步中执行这组函数,过去的我们是这样编写异步代码的: var resolve = function () { console.log('成功'); }, //定义一个失败状态下运行的函数 reject = function () { console.log(