Javascript
是一种由
Netscape
的
LiveScript
发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如
Perl
,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有
28.8kbps
,验证步骤浪费的时间太多。于是
Netscape
的浏览器
Navigator
加入了
Javascript
,提供了数据验证的基本功能。
JavaScript
是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。目前
javascript
的最新版本为
4.0
。
1、运算符
运算符就是完成操作的一系列符号,它有七类:
赋值运算符(
=,+=,-=,*=,/=,%=,<<=,>>=,|=,&=
)、算术运算符
(+,-,*,/,++,--,%)
、比较运算符
(>,<,<=,>=,==,===,!=,!==)
、逻辑运算符
(||,&&,!)
、条件运算
(?:)
、位移运算符
(|,&,<<,>>,~,^)
和字符串运算符
(+)
。
可能很多人不知道
"==="
是什么。
在这里,我为大家解释一下,在
JavaScript
中,“
==="
是等同运算符。
等同运算符的比较规则:
当两个运算数的类型不同时:将他们转换成相同的类型,
1)
一个数字与一个字符串,字符串转换成数字之后,进行比较。
2)true
转换为
1
、
false
转换为
0
,进行比较。
3)
一个对象、数组、函数
与
一个数字或字符串,对象、数组、函数转换为原始类型的值,然后进行比较。
(
先使用
valueOf,
如果不行就使用
toString)
4)
其他类型的组合不星等。
想两个运算数类型相同,或转换成相同类型后:
1)2
个字符串:同一位置上的字符相等,
2
个字符串就相同。
2)2
个数字:
2
个数字相同,就相同。如果一个是
NaN,
或两个都是
NaN,
则不相同。
3)2
个都是
true
,或者
2
个都是
false
,则相同。
4)2
个引用的是同一个对象、函数、数组,则他们相等,如果引用的不是同一个对象、函数、数组,则不相同,即使这
2
个对象、函数、数组可以转换成完全相等的原始值。
5)2
个
null
,或者
2
个都是未定义的,那么他们相等。而“
===
”是全同运算符,全同运算符遵循等同运算符的比较规则,但是它不对运算数进行类型转换,当两个运算数的类型不同时,返回
false;
只有当两个运算数的类型相同的时候,才遵循等同运算符的比较规则进行比较。
例如:
null==undefined
会返回真
,
但是
null===undefined
就会返回假!
2、表达式
运算符和操作数的组合称为表达式,通常分为四类:赋值表达式、算术表达式、布尔表达式和字符串表达式。
3、语句
JavaScript
程序是由若干语句组成的,语句是编写程序的指令。
JavaScript
提供了完整的基本编程语句,它们是:
赋值语句、
switch
选择语句、
while
循环语句、
for
循环语句、
for each
循环语句、
do while
循环语句、
break
循环中止语句、
continue
循环中断语句、
with
语句、
try...catch
语句、
if
语句(
if..else
,
if...else if ...
)、
let
语句。
4、函数
函数是命名的语句段,这个语句段可以被当作一个整体来引用和执行。使用函数要注意以下几点:
1
)函数由关键字
function
定义(也可由
Function
构造函数构造);
2
)使用
function
关键字定义的函数在一个作用域内是可以在任意处调用的(包括定义函数的语句前);而用
var
关键字定义的必须定义后才能被调用;
3
)函数名是调用函数时引用的名称,它对大小写是敏感的,调用函数时不可写错函数名;
4
)参数表示传递给函数使用或操作的值,它可以是常量,也可以是变量,也可以是函数,在函数内部可以通过
arguments
对象(
arguments
对象是一个伪数组,属性
callee
引用被调用的函数)访问所有参数;
5
)
return
语句用于返回表达式的值。
6
)
yield
语句扔出一个表达式,并且中断函数执行直到下一次调用
next
。
一般的函数都是以下格式:
function myFunction(params){
//
执行的语句
}
函数表达式:
var myFunction=function(params){
//
执行的语句
}
var myFunction = function(){
//
执行的语句
}
myFunction();//
调用函数
匿名函数,它常作为参数在其他函数间传递:
window.addEventListener('load',function(){
//
执行的语句
},false);
5
、对象
JavaScript
的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。
一组包含数据的属性和对属性中包含数据进行操作的方法,称为对象。比如要设定网页的背景颜色,所针对的对象就是
document
,所用的属性名是
bgcolor
,如
document.bgcolor="blue"
,就是表示使背景的颜色为蓝色。
6
、事件
用户与网页交互时产生的操作,称为事件。事件可以由用户引发,也可能是页面发生改变,甚至还有你看不见的事件(如
Ajax
的交互进度改变)。绝大部分事件都由用户的动作所引发,如:用户按鼠标的按键,就产生
click
事件,若鼠标的指针在链接上移动,就产生
mouseover
事件等等。在
JavaScript
中,事件往往与事件处理程序配套使用。而对事件的处理,
W3C
的方法是用
addEventListener()
函数,它有三个参数:事件,引发的函数,是否使用事件捕捉。为了安全性,建议将第三个参数始终设置为
false
;传统的方法就是定义元素的
on...
事件,它就是
W3C
的方法中的事件参数前加一个“
on
”。而
IE
的事件模型使用
attachEvent
和
dettachEvent
对事件进行绑定和删除。
JavaScript
中事件还分捕获和冒泡两个阶段,但是传统绑定只支持冒泡事件。
7
、变量
如
var myVariable = "some value";
变量有它的类型,上例中
myVariable
的类型为
string
(字符串)
javascript
支持的常用类型还有:
object
:对象
array
:数组
number
:数;
boolean
:布尔值,只有
true
和
false
两个值,是所有类型中占用内存最少的;
null
:一个空值,唯一的值是
null
;
undefined
:没有定义和赋值的变量
实际上
JavaScript
的变量是弱变量类型,你赋值给他的是字符串,他就是
String .
是数字他就是整型。是
true
和
false
他就是
boolean
型(注意,不能加引号,不然会被当成字符串处理)。
基本特点
能够具有交互性,能够包含更多活跃的元素,就有必要在网页中嵌入其它的技术。如:
Javascript
、
VBScript
、
Document Object Model
(
DOM
,文档对象模型)、
Layers
和
Cascading Style Sheets
(
CSS
,层叠样式表),这里主要讲
Javascript
。那么
Javascript
是什么东东?
Javascript
就是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于
Internet
网页制作上。
Javascript
是由
Netscape
公司开发的一种脚本语言(
scripting language
),或者称为描述语言。在
HTML
基础上,使用
Javascript
可以开发交互式
Web
网页。
Javascript
的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。
运行用
Javascript
编写的程序需要能支持
Javascript
语言的浏览器。
Netscape
公司
Navigator 3
.
0
以上版本的浏览器都能支持
Javascript
程序,微软公司
Internet Explorer 3
.
0
以上版本的浏览器基本上支持
Javascript
。微软公司还有自己开发的
Javascript
,称为
JScript
。
Javascript
和
Jscript
基本上是相同的,只是在一些细节上有出入。
Javascript
短小精悍,
又是在客户机上执行的,大大提高了网页的浏览速度和交互能力。
同时它又是专门为制作
Web
网页而量身定做的一种简单的编程语言。
JavaScript
使网页增加互动性。
JavaScript
使有规律地重复的
HTML
文段简化,减少下载时间。
JavaScript
能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由
CGI
验证。
JavaScript
的特点是无穷无尽的,只要你有创意。
1、JavaScript是Java的变种吗
javascript
代码
JavaScript
最初的确是受
Java
启发而开始设计的,而且设计的目的之一就是“看上去像
Java
”
[2]
,因此语法上有很多类似之处,许多名称和命名规范也借自
Java
。但是实际上,
JavaScript
的主要设计原则源自
Self
和
Scheme[3]
,它与
Java
本质上是不同的。它与
Java
名称上的近似,是当时网景为了营销考虑与
Sun
公司达成协议的结果。其实从本质上讲
javascript
更像是一门函数式编程语言
.
而非面向对象的语言,它使用一些智能的语法和语义来仿真高度复杂的行为。其对象模型极为灵活、开放和强大,具有全部的反射性。
2、JavaScript与JScript相同吗?
为了取得技术优势,微软推出了
JScript
来迎战
JavaScript
的脚本语言。为了互用性,
Ecma
国际(前身为欧洲计算机制造商协会)建立了
ECMA-262
标准(
ECMAScript
)。现在两者都属于
ECMAScript
的实现。
3、JavaScript是一门简单的语言吗?
尽管
JavaScript
作为给非程序人员的脚本语言,而非作为给程序人员的编程语言来推广和宣传,但是
JavaScript
是一门具有非常丰富特性的语言,它有着和其他编程语言一样的复杂性,或更甚复杂。实际上,你必需对
JavaScript
有扎实的理解才能用它来撰写比较复杂的程序。
JavaScript简介