体验javascript之“变态
学习Javascript断断续续也有十几天了,总结一下为自己也为别人。Javascript给我的整体印象就是很“随便”,这种印象缘起于它的面向对象。当然Javascript的灵活性也注定了它是一个随便的语言。
Javascript的语法特性
Javascript是一门动态的,弱类型的,基于原型的脚本语言。我们在一些网站上的一些漂浮效果(虽然很讨厌),图片切换效果,还有一些文本编辑器等等,这都要归功于Javascript。当然Javascript又是一个彻底的面向对象的语言,虽然你看到的是遍地的function(),但是谁有规定函数不能是对象呢。下面来看一些具体的内容。
Javascript基本语法
但凡有一点编程基础的人都会觉得Javascript的语法很简单,非常容易上手,但这并不代表Javascript很容易学习,精通Javascript也不是一件易事。
Javascript有五种基本的数据类型:数值(Number),字符串(String),布尔类型(boolean),Null类型,Undefined类型。
上面已经说过了Javascript是一种动态的弱类型语言,那我们就来看看Javascript动态体现在哪里,弱类型又体现在哪里:
//声明变量
var attr1 = 1;
var attr2 = 1.03;
var attr3 = "hello";
var attr4 = false;
不用像java中那样,想声明什么类型的变量还必须提前定义,在Javascript中,我们"信手拈来"就可以了,它是什么样它就是什么类型。口说无凭,有代码有真相。我们可以通过Javascript的typeof关键字来测试,一试便知。
//声明变量
var attr0 ;
var attr1 = 1;
var attr2 = 1.03;
var attr3 = "hello";
var attr4 = false;
alert(typeof attr0); //undefined
alert(typeof attr1); //number
alert(typeof attr2); //number
alert(typeof attr3); //string
alert(typeof attr4); //boolean
alert(typeof null); //object
alert(typeof undefined); //undefined
这里也还有一个知识点是关于null和undefined的。Null是一个空的对象,的的类型为Object;undefined是全局对象(Window)的一个属性,所以他的类型还是undefined。但是undefined是从null继承来的。Javascript的基本语法非常的简单,大致浏览就可以上手,所以其他的东西就不在这里说了。开始下一小节...
Javascript作用域
Javascript的作用域是非常个性的,我们先来看几个例子体验一下。
// 作用域
var outer = 1;
function layer() {
var layer1 = 2;
function inner() {
var layer2 = 3;
alert(layer1);//2
alert(layer2);//3
}
inner();
}
layer();
alert(outer);//1
alert(layer1);//layer1已经被回收
alert(layer2);//layer2已经被回收
这个是和其他编程语言相似的地方,主要涉及全局变量和局部变量;全局变量和局部变量的作用范围既不用细说了吧。
// sample2
var x = "smile";
var alerts = function() {
alert(x); //undefined
var x = "fuck";
alert(x); //fuck
//上面的相当于下面的代码
//var x ;
//alert(x); //undefined
//x = "fuck";
//alert(x); //fuck
}
Javascript没有块级作用域,函数中声明的所有变量无论是在哪里声明的,在整个函数中都有意义。估计对于用熟java语言的程序猿这
相关新闻>>
- 发表评论
-
- 最新评论 更多>>