JavaScript语言特性

原创 2012年03月27日 23:09:06

JavaScript是一种动态的,弱类型,基于原型的脚本语言。在JavaScript中"一切皆对象"。

(1)动态性

动态性是指,在一个Javascript对象中,要为一个属性赋值,我没不必事先创建一个字段,只需要在使用的时候做赋值操作即可,

//定义一个对象

var obj=new Object();

//动态创建属性name

obj.name="an object";

//动态创建属性sayH1

obj.sayHi=function(){

return "hi";

}

obi.sayHi();


(2)弱类型

Javascript是弱类型的,它的数据类型无需在声明时指定,解释器会根据上下文对变量进行实例化,

//定义一个变量s,并赋值为字符串

var s="text";

//赋值s为整型

s=12+5;

//赋值s为浮点型

s=6.3

//赋值s为一个对象

s=new Object();

s.name="object";

弱类型的好处是,一个变量可以很大程度的进行复用,比如String类型的name字段,在被使用后,可以赋值为另一个Number型的对象,而无需重新创建一个新的变量。不过,弱类型也有其不利的一面,比如在开发面向对象的Javascript的时候,没有类型的判断将会是比较麻烦的问题,不过我们可以通过别的途径来解决此问题


Javascript应用范围


(1)客户端Javascript

客户端的JavaScript可以使你的WEB页面更加生动,通过AJAX,无刷新的更新页面内容,可以大大的提高用户体验,随着大量的JavaScript包如jQuery,ExtJS,Mootools等的涌现,越来越多的绚丽,高体验的WEB应用被开发出来,这些都离不开幕后的JavaScript的支持。


(2)服务端Javascript

当Google的JavaScript引擎V8出现以后,有很多基于V8引擎的应用出现了,其中最著名,最有前景的当算Node.js了

var sys=require('sys');

http=require('http');

http.createServer(function(req,res){

setTimeout(function(){

res.sendHeader(200,{'Content-Type':'text/plain'});

res.sendBody('Hello World');

res.finish();

},2000)

}).listen(8000);

sys.put('Server runing at http://127.0.0.1:8000/');

保存这个脚本为sayHello.js,然后运行:

node sayHello.js

程序将会在控制台上打印:

Server runing at http://127.0.0.1:8000/


访问http://127.0.0.1:8000/,两秒钟之后页面会响应:Hello,World.


再看另一个例子

var tcp= require('tcp');

var server=tcp.createServer(function (socket){

socket.setEncoding("utf8");

socket.addListener("connect",function(){

socket.send("hello\r\n");

});

socket.addListener("receive";function(data){

socket.send(data);

});

socket.addListener("eof",function(){

socket.send("goodbye\r\n");

socket.close();

});

});

server.listen(7000,"localhost");

当访问localhost的7000端口,将建立一个TCP连接,编码方式为utf-8,当客户端连接到来时,程序在控制台上打印

hello

当接收到新的数据时,会将接收到的数据原样返回给客户端,如果客户端断开连接,则向控制台打印:

goodbye

Node提供了丰富的API来简化服务器端的网络编程,由于Node是基于一个JavaScript引擎的,因此天生的就具有动态性和可扩展性,因此在开发网络程序上,是一个不错的选择。


javascript特性杂谈

最近语言学习有些疯狂, 从Ruby到Lisp, 然后是C#, 既然已经疯狂了, 就顺面学习一下javascript吧. 对javascript的印象一直不佳, 从骂脏话最多的使用者, 到使用者平反的世...
  • vagrxie
  • vagrxie
  • 2013年01月21日 06:01
  • 11388

JavaScript 技巧与高级特性

级别: 中级成 富 (chengfbj@cn.ibm.com), 软件工程师, IBM 中国软件开发中心2008 年 11 月 14 日随着 Ajax应用的流行,JavaScript 语言得到了越...

js的一些特性

原型: window.onload = function(){ var lio = {}; lio.age= '18'; Object.pr...
  • theowl
  • theowl
  • 2016年03月13日 19:42
  • 1371

JavaScript特点

JavaScript是一种动态解释型语言,这使得它和传统的编译型语言有着一些区别。这些区别引发出某些独特的概念和使用方法,简单举例说明。 在我的理解里,这些特点分别有:解释执行、弱类型、面向过程与...
  • zjc
  • zjc
  • 2014年12月03日 21:21
  • 1099

LoadRunner12.x简易入门教程--(二)Action迭代

上一节我们讲到用LoadRunner12录制一个最简单的脚本,这节来说一说如何将Action进行迭代回放 通常,我们录制的时候,会将登录的部分录在vuser_init里面,而将登出部分录在vuse...

Makefile之Linux内核模块的Makefile写法分析

原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8771621,作者:gqb666         六一快...
  • gqb666
  • gqb666
  • 2013年06月01日 10:31
  • 7459

JavaScript语言精粹——特性

1.优美的特性包含于作者的精简的JavaScript中...主要内容 函数是头等对象,在精简JS中,函数是有词法作用域的闭包。 基于原型继承的动态对象 对象是五类别的,可以通过普通的赋值给任何对...

六种主流编程语言(C、C++、Python、JavaScript、PHP、Java)特性对比

这些年来我陆陆续续已经学习了六种编程语言,有些人会说语言学到最后不都差不多吗?其实可以这样讲,也可以不这样讲。虽然每种语言的表达能力大部分是重合的,只是语法表现形式不一样,但是由于历史发展的原因,每种...
  • gary531
  • gary531
  • 2014年02月24日 09:17
  • 13155

六种主流编程语言(C、C++、Python、JavaScript、PHP、Java)特性对比

六种主流编程语言(C、C++、Python、JavaScript、PHP、Java)特性对比 时间 2014-02-24 09:17:54  CSDN博客 原文  http://blog.cs...

六种主流编程语言(C、C++、Python、JavaScript、PHP、Java)特性对比

这些年来我陆陆续续已经学习了六种编程语言,有些人会说语言学到最后不都差不多吗?其实可以这样讲,也可以不这样讲。虽然每种语言的表达能力大部分是重合的,只是语法表现形式不一样,但是由于历史发展的原因,每种...
  • lyn167
  • lyn167
  • 2016年06月13日 14:17
  • 891
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JavaScript语言特性
举报原因:
原因补充:

(最多只允许输入30个字)