首先说明,本系列教程是写给有一定的JavaScript编程基础的同学看的,最好还有其它的编程语言经验,因为里面可能涉及一些其它的程序设计语言写的源代码,这都是我自己总结的经验,我喜欢在学习一门新的编程语言的同时,会拿新的编程语言跟我学过的某一门旧的编程语言作比较,一方面可以看出他俩的不同点,另一方面又可以加深对原来的编程语言理解。这只是我的一点个人理解,可能不适合所有人,希望在看文章的你能理解。

下面说一下JavaScript的运行环境:

严格来说,我们平时所说的JavaScript编程,它的主要的运行环境就是浏览器,也许你会说,这个大家都知道。

我为什么说主要的运行环境呢?就是因为JavaScript还可以在其它环境中运行。

其中比较著名的就是ASP,微软推出的的一种Web后端开发技术。也许有人会说,那是JScript,不是JavaScript。

我不想争论这个,因为无论它是JScript也好,JavaScript也好,总之它们俩的大部分属性都是一样的。

如果你关注前端新闻的话,现在出了一个Node.js,你至少应该听说过,Node.js就是现在比较火的一个JavaScript的

后端运行环境和平台。其实理论上只要运行环境提供一个JavaScript解释器,那么JavaScript就可以在里面运行,比如

现在主流的编程语言C++,在VC开发工具里面有一个WebBrowser控件,它就是一个mini的没有菜单栏的小型浏览器,

JavaScript就可以在它里面运行。再说几个,你也许会很吃惊的,迅雷,暴风影音,PPS,QQ等等软件开启之后

弹出来的mini弹窗,其实那个页面就是使用HTML+CSS+JavaScript实现的,这个你想到了吗?亲?

下面我们来说JavaScript编程语言的核心部分:

1.在JavaScript中只有五种基本数据类型:

Number、String、Boolean、null、undefined

其它的对象(Object)、数组(Array)、函数(Function)等等都是复杂数据类型。

2.在JavaScript中没有常量,但是仍然建议保留const,不要使用const做任何用途。以免将来JavaScript扩展出常量。

3.在JavaScript中定义变量的方式有两种:

1).使用var关键字定义。

这种方式定义的变量的作用域有两种情况。

在任何的函数外面使用var关键字定义变量,变量将成为全局变量,就是说在程序的任何地方都可以

访问到。在函数内部使用var关键字定义的变量将成为局部变量,即只有在函数内部才能访问。

代码:

var test_global=88;
function Test(){
var test_local=55;
}

在上面代码中,test_global是全局变量,test_local是局部变量。

2).不使用var隐式声明的变量。这种声明变量的方式有点像赋值,如:

test=66;

这种方式声明的变量全部为全局变量,无论是在函数内部还是函数外部。

4.在JavaScript中没有块作用域。在C++、Java中有块作用域,而JavaScript中没有。

下面的代码是初学者经常困惑的一段代码:

for(var i=0;i<3;i++){
console.log(i);
}
console.log(i);

上面代码输出结果为:01 2 3

而3就是for循环外面的输出语句输出的,说明这时候i是有值的,值为for结束后的3.

5.在JavaScript中如果函数中的变量与外面的变量重名了,这时候分两种情况:

如果函数内部的变量使用var关键字声明过,那么在函数内部就是操作的局部变量,如果相反,

没有使用var关键字声明过,则操作的是全局变量,这里就遇到一个意外的,经常容易出错的

地方,那就是如果在函数外部没有声明过这个变量,那么这个变量将自动成为全局变量。具体请看下面代码:

var v1=25;
function test(){
var v1=22;
console.log(v1);
}
test();//22
var v1=25;
function test(){
console.log(v1);
}
test();//25
console.log(v2);//出错
function test(){
v2=27;
}test();
console.log(v2);//27

6.在JavaScript中false,null,0,"",undefined等价于布尔值的假,其它均为真。

今天就先说到这里吧,有时间再继续跟大家唠叨。

【JavaScript脚本编程技术详解-----(一)】的更多相关文章

  1. JavaScript面向对象编程—this详解

      this详解 作者的话 在JavaScriptOPPt面向对象编程中,this这位老大哥,相信大家不会陌生.大家在遇到this时,很多朋友难免会有个疑问:"这个this是什么,它到底指向 ...

  2. 阅读《Windows 黑客编程技术详解》(甘迪文著)【正在进行】

    内容提要: 本书介绍的是黑客编程的基础技术,涉及用户层下的Windows编程和内核层下的Rootkit编程. 全书大纲: 第一篇 用户篇 平常计算机上使用的应用程序,都运行在用户层上,属于用户程序.在 ...

  3. 4 jmeter badboy脚本开发技术详解

    badboy中的检查点 以www.sogou.com搜索为例演示,搜索badboy. 1.打开badboy工具,点击红色按钮开始录制,在地址栏目中输入地址:www.sogou.com,回车. 2.输入 ...

  4. JavaScript之WebSocket技术详解

    概述 HTTP协议是一种无状态协议,服务器端本身不具有识别客户端的能力,必须借助外部机制,比如session和cookie,才能与特定客户端保持对话.这多多少少带来一些不便,尤其在服务器端与客户端需要 ...

  5. 【前端阅读】——《JavaScript应用开发技术详解指南》摘记&思维导图

    读这本书,我主要关注三个部分:JavaScript内置函数,程序调试以及Ajax基础.由于多是介绍基本概念,所以,采用思维导图的方式,做了一个梳理,以下就是精简的主要内容. 注:转载请注明出处

  6. javascript学习 真正理解DOM脚本编程技术背后的思路和原则

    本文学习来源于<javascriptDOM编程艺术>仅作笔记 学会怎样才能利用DOM脚本编程技术以一种既方便自己更体贴用户的方式去充实和完善你们的网页. 循序渐进:从最核心的内容开始,逐步 ...

  7. CDN学习笔记二(技术详解)

    一本好的入门书是带你进入陌生领域的明灯,<CDN技术详解>绝对是带你进入CDN行业的那盏最亮的明灯.因此,虽然只是纯粹的重点抄录,我也要把<CDN技术详解>的精华放上网.公诸同 ...

  8. CDN技术详解及实现原理

    CDN技术详解 一本好的入门书是带你进入陌生领域的明灯,<CDN技术详解>绝对是带你进入CDN行业的那盏最亮的明灯.因此,虽然只是纯粹的重点抄录,我也要把<CDN技术详解>的精 ...

  9. Python开发技术详解PDF

    Python开发技术详解(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1F5J9mFfHKgwhkC5KuPd0Pw 提取码:xxy3 复制这段内容后打开百度网盘手 ...

随机推荐

  1. JavaEE Tutorials (24) - 资源适配器示例

    24.1trading示例369 24.1.1使用出站资源适配器370 24.1.2实现出站资源适配器372 24.1.3运行trading示例37324.2traffic示例374 24.2.1使用 ...

  2. Activity和View的区别:

    Activity和View的区别: activity相当于控制部分,view相当于显示部分.两者之间是多对多的关系,所有东西必须用view来显示.  viewGroup继承自view,实现了ViewM ...

  3. poj 1018 Communication System_贪心

    题意:给你n个厂,每个厂有m个产品,产品有B(带宽),P(价格),现在要你求最大的 B/P 明显是枚举,当P大于一定值,B/P为零,可以用这个剪枝 #include <iostream> ...

  4. 搭讪培训班 - 名品试用 - YOKA时尚论坛 - YOKA社区

    搭讪培训班 - 名品试用 - YOKA时尚论坛 - YOKA社区 搭讪培训班 发贴回复 发新话题 发布投票 搭讪培训班   1330 1 阅读 回复 跳转到指定楼层 加为好友 时尚懒洋洋 工作:无业游 ...

  5. 2、Lucene 最简单的使用(小例子)

    在了解了Lucene以后,我打算亲手来做一个Lucene的小例子,这个例子只是Lucene最简单的应用:使用Lucene实现标准的英文搜索: 1.下载Lucene 下载Lucene,到Lucene的官 ...

  6. poj 2411 Mondriaan&#39;s Dream 【dp】

    题目:id=2411" target="_blank">poj 2411 Mondriaan's Dream 题意:给出一个n*m的矩阵,让你用1*2的矩阵铺满,然 ...

  7. HTML3层叠样式表

    层叠样式表:CSS Cascading Style Sheet.V2.1  控制页面样式外观.   一.样式表分三类: 1.内联样式表.--放在元素的开始标记中.--只对当前元素起作用. <in ...

  8. java实现二叉树的相关操作

    import java.util.ArrayDeque; import java.util.Queue; public class CreateTree { /** * @param args */ ...

  9. js 完美兼容浏览器的复制功能

    1,js结合swf的复制功能,完美兼容火狐,谷歌,360,ie8,使用示例:(ps:引入copy.swf比较重要,文件传送门 解压密码:http://www.bieanju.com/,为了防止360删 ...

  10. Spring学习之Ioc控制反转(2)

    开始之前: 1. 本博文为原创,转载请注明出处 2. 作者非计算机科班出身,如有错误,请多指正 ---------------------------------------------------- ...