1、JavaScript关于对象的理解
关于JavaScript的对象性有很多种不同的说话,部分说法是JavaScript是面向对象的语言,还有一部的说法是JavaScript不是面向对象的语言,而是基于对象的语言。面向对象是object-oriented,基于对象是Object-Based,二者有着本质上的差别。但是大部分人认同JavaScript语言是基于对象的(Object-Based),而不是面向对象的(object-oriented)。之所以说它是一门基于对象的语言,主要是因为它没有提供象抽象、继承、重载等有关面向对象语言的许多功能。而是把其它语言所创建的复杂对象统一起来,从而形成一个非常强大的对象系统。虽然JavaScript语言是一门基于对象的,但它还是具有一些面向对象的基本特征。它可以根据需要创建自己的对象,从而进一步扩大JavaScript的应用范围,增强编写功能强大的Web文档。
从上面分析的情况来看,无论是基于对象还是面向对象,对于JavaScript的对象的研究,还是重中之重的一点。
JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。
在 JavaScript 中,对象是拥有属性和方法的数据。
例如:现在有一个人对象
var person;
person = new Object();
属性:
person.name = "YanCey";
person.age = 25;
person.weight = 87;
方法:
person.eat()
person.run()
person.sleep()
2、JavaScript的函数
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。函数在多数语言中被理解为函数或方法,所以JavaScript的函数概念和其他语言是类似的。
因为每种语言的格式书写差异很大,所以对于JavaScript函数的格式,要注意它有如下基本的格式:
function functionname()
{
//这里是要执行的代码
}
前面使用了关键词 function
PS:JavaScript 对大小写是敏感的。规定关键词 function 必须是小写,并且必须以与函数名称相同的大小写来调用函数。
当我们想调用一个函数需要带参数的时候,在()内增加参数即可,如下:
function myFunction(var1, var2)
{
//这里是要执行的代码
}
有时,我们会希望函数将值返回调用它的地方。通过使用 return 语句就可以实现。在使用 return 语句时,函数会停止执行,并返回指定的值。
function myFunction()
{
var x=5;
return x;
}
有时候,想要返回值是基于传递到函数中的参数:
function myFunction(a, b)
{
return a * b;
}
从以上的四种情况来看,JavaScript的函数的特性和C语言函数的情况相类似:无参无返,有参无返,无参有返,有参有返四种大的类型。但是必须要有关键词小写的 function 来修饰函数。
PS:了解完JavaScript的函数之后,避免不了的需要知道和函数有关的全局变量以及局部变量。在JS中对于全局变量和局部变量JS的规定和C语言又不谋而合的类似。
在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。
只要函数运行完毕,本地变量就会被删除。
在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
JavaScript 变量的生命期从它们被声明的时间开始。局部变量会在函数运行以后被删除。全局变量会在页面关闭后被删除。
如果把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。
personName = "YanCeyMichael";
即使该变量是在函数内执行,也是全局变量。
3、JavaScript的运算符
JavaScript的算术运算符和赋值运算符和C以及OC或者其他语言是基本类似的,这里不再赘述。
JavaScript有自己特殊功能的运算符:
用于字符串的”+”运算符:
“+” 运算符用于把文本值或字符串变量加起来(连接起来)
var txt1 = "What a very";
var txt2 = "nice day";
var txt3 = txt1 + txt2;
txt3打印的显示结果就是: What a verynice day
据我了解: Java和.net以及Python都支持 + 来做字符串的拼接。
txt1="What a very";
txt2="nice day";
txt3=txt1+" "+txt2;
和下面的把空格放到txt1尾巴或者txt2的开头的作用是一样的。
txt1 = "What a very ";
txt2 = "nice day";
txt3 = txt1 + txt2;
有时候对字符串和数字进行加法运算
x = 5 + 5;
document.write(x);
x = "5" + "5";
document.write(x);
x = 5 + "5";
document.write(x);
x = "5" + 5;
document.write(x);
如果把数字与字符串相加,结果将成为字符串。
JavaScript的比较运算符和逻辑运算符以及条件运算符和C以及OC还有其他语言的语法是基本类似的,这里不再赘述。
4、JavaScript的判断语句
JavaScript的判断语句和其他语言的判断语句基本一致,这里不再赘述(if语句/if-else语句/if-elseif-…-else语句/switch语句)。
5、JavaScript的for循环while循环以及break语句和continue语句
这些语句和C语言或OC以及其他语言类似,这里不再赘述。