0%

本文属于原创文章,转载请注明–来自桃源小盼聊技术

Javascript,一门神奇的语言,它的数组也同样独特。我们要去其糟粕,取其精华,把常用的最优实践总结出来。如有错误,请指出。

javascript数组是一种类数组的对象,拥有对象的特性。当属性名是小而连续的整数时,应该使用数组,否则,使用对象。

数组来源

所有的数组都是Array构造出来的,我们来测试一下constructor这个属性。

1
2
3
var arr = [];
arr.constructor === Array; // true
arr.constructor === Array.prototype.constructor; // true

创建数组

1
2
3
4
5
6
7
8
9
10
11
//数组字面量方式
var arr1 = [1, 2, 3]; // [1,2,3]

//构造函数方式
var arr2 = new Array(); // [] 空数组
var arr3 = new Array('9'); // ["9"] 一个字符串元素
var arr4 = new Array(9); // [] 数组长度length为9
var arr5 = new Array([9]); // [[9]] 相当于二维数组
var arr6 = new Array(1, 2, 3); // [1, 2, 3]
var arr7 = new Array(1, function f(){}, {o : 6}, null,undefined,true);
// 数组可以存储任意混合数据类型

由于arr4的方式,当只有一个数字参数传递到Array的构造函数中,构造函数会返回设置了length属性的空数组。所以推荐使用数组字面量方式,短小而简洁。

阅读全文 »

本文属于原创文章,转载请注明–来自桃源小盼聊技术

本文的兼容性包含了更多的意思,一些和网站开发注意的实际问题。对注重seo的网站帮助更多一些。

关于浏览器

现在的前端开发已经开始放弃兼容ie6,ie7,并且也在有条件的放弃ie8。像chrome这样的现代浏览器对新特性支持度都很棒,只是在某些新特性上的实现方式并不太统一。

这是百度统计最近六个月的数据,ie6和ie7合起来还是有9.03%,360是被统计到各种内核中了。

compatibility-1

而现在需要我们考虑的就是ie浏览器了。对于ie6,ie7需要去写很多hack代码,非常丑陋并且还要花费大把的时间去调试,然而现在真正使用这两个浏览器的人却是不多的,与其这样还不如把精力投入到大部分用户群体上,为他们提供更好的体验。

所以是时候放弃兼容他们了,但是我们也不能把使用这两个浏览器的用户放弃掉,所以我们应该加一些让他们更新浏览器的提示,像下面这样:

阅读全文 »

本文属于原创文章,转载请注明–来自桃源小盼聊技术

socket.io非常适合做聊天室,但英文官网读起来还是有一定的障碍,特此翻译。如有误点,欢迎指出。

1
原地址:http://socket.io/get-started/chat/

正文如下:

开始:聊天

本篇文章,我们将一起来创建一个简单的聊天应用。它几乎不要求你提前掌握Node.JS 或 Socket.IO的知识,适合任何人来尝试。

介绍

用LAMP这种传统的方式来搭建一个聊天应用是很难的,它包括轮询服务器的变化,保持跟踪时间戳,比socket.io慢得多。

Sockets一直是最具实时性的聊天系统解决方案,在客户端和服务端提供了一种双向通信通道。

这意味着服务器能发送消息给客户端。当你发出一条消息时,服务端将获取它,并将它发送给其他所有在线客户端。

阅读全文 »