JavaScript 是一种弱对象语言.顶层对象为window.每一个 HTML都由一个window对象来表示,每一个window直接互不影响.
与J a v a的区别
1.变量没有类型.
2.比较预算符 有一个严格比较.而且没有| 和&只有||和&&
3.js有函数,java是方法.但是定义的方式也不一样.
4.if语句有一点特别的地方. if(999)也可以执行if的代码.而java表达式则只有为true时才执行.
变量的作用域:
1.<script>标签内声明的变量为全局变量,对整个页面的js代码都有效.
2.JS预先定义一些变量 例如name.value等 不用var.直接alert(typeof name);
3.js的引擎会在代码执行前将全局变量放到顶部赋值语句位置不变
alert(i);var i=9;/ 这是显示为undefined
4.if以及循环中的局部变量无论是否执行都会被提升为全局变量,
只是如果没有执行,变量值为undefined////
5.变量可以重复声明,使用前最后一次赋值.
6.函数内定义的变量不会提示为全局变量,外部不可访问
7.两个嵌套的函数,外层定义的变量对内层有效果,内层对外层无效,
和6原理一样。内层相对于外层就是一个函数内外的关系./////
JS与Java的数据类型不一样.
js数字类型只有一个Number.java里有int short float.double.long.
JSON JavaScript Object Notation
JS规范:一个对象由一个{} 来表示
{"key1":value1,"key2":vlue2} key要用双引号, key和value用‘冒号隔开,不同的key用逗号隔开.
function的创建方式;
1. function name(参数){函数体}; 通过name()调用.
2.var i=function(参数){函数体}; 通过i() 调用
3.var i=new Function(参数,函数体) i()调用.
调用.函数名();JS在使用之前会扫描所有的代码.然后将function函数声明全部管理起来.JS没有重载概念,后声明的函数会覆盖之前声明的函数.
function a(){
var i=0; var b= function(){var m=i;alert(m);}
i=10;b();// function只有执行时才会去执行函数体. 这里是function容易出错的地方.
}
a();
function a(){
var i=0;var b=function(){alert(b.i);}
b.i=i;i=10;b();} a();//这里是将先前i的值作为b的一个属性储存起来了.
js的Array为可变长度.
JS对象的创建;
1.var i=new Object();
2.JSON JavaScript Object Notation
JS规范:一个对象由一个{} 来表示
{"key1":value1,"key2":vlue2} key要用双引号, key和value用‘冒号隔开,不同的key用逗号隔开.