javascript 笔记(1)

document.forms[0].names.value == ''

forms[0]表示文档的第一个 form 表单,names 表示这个表单元素名为 names 的表单的元素,此时表示的是获取此页面中,第一个表单中名称为 names 的值!

IE特有的,火狐没有

<script for="id/name"  event="事件名(onclick)">

// 代码

</script>

用 var 声明的变量表示局部变量,用 var 声明的变量,可以先声明,不用赋值就可用,不会报错,而不用 var 声明的,必须赋值,不然会报错,推荐用 var 声明变量!

严格区分大小写,变量名可用驼峰法或者是首字母大字!

js 是面向对象的语言,却没有类的,所以不能用类的方式来实现,而是用面向对象的方式来实现,即 JSON(javascript object nonation) 格式,用 new 或者 {},如 var obj = new Object(); 或者 var obj = {};

函数声明方式:

1.声明方式

function 函数名([参数列表]){

  // 代码

}

2.字面量定义方式:(匿名函数)

var 变量名 = function([参数列表]){

  // 代码

}

调用时: 变量名([参数列表]);

3.以对象的形式声明:(少用)

var 变量名 = new Function([参数列表], "代码段");

此时的参数和代码段要用单/双引号,function首字母要大写!

也可以直接这样用:

(function(){代码})()

以基本语法声明的函数,会在代码运行时,提前加载到内存中,供以后使用,但是以字面量形式命名的函数,会在执行到的时候进行赋值,所以同名函数与此时的字面量定义的变量名相同时,总是执行字面量函数!

函数参数问题:

函数的形参与实参数量不一致时,不会报错,在函数中隐式创建一个 arguments  对象,它包含实际传入的参数的信息,引用时可用下标法,如 arguments[i],实际传入的参数有两个信息,一个为 length,一个为calle,calle 即对本身代码的描述!

函数调用方式:

1。通过指针形式来调用函数:

函数名是一个指针,所以可以用函数名作为参数!

如:

function add(num1, num2){
  return (num1+num2);
}

function res(num1,num2,add){
  return add(num1,num2);
}

alert(res(1,2,add));

2.用匿名函数来调用:

function add(num1, num2, func){
  return func(num1,num2);
}

alert(add(1,2,function(num1,num2){
 return (num1+num2);
}));

3.定义的同时执行 

 (function add(num1,num2,func){
 return func(num1,num2);
})(100, 200,function(num1,num2){
 alert(num1+num2);
});

其中函数名 add 可有可无!

eval("字符串"),会把字符串当作 js 脚本来执行,前提是字符串要符合JS 语法,里面的变量作用域只在其字符串内起作用!

如果用 window.eval("字符串"),则字符串中的变量在火狐浏览器是全局的,而在IE是局部的,如果用 window.execScript,则在IE下作用和在火狐下用 window.eval() 作用一样,火狐对 execScript不起作用,会报错!

数组声明:

1。用对象方式:

var a = new Array();如果 var a = new Array(数值); 则数值表示为 数组 a 的长度!

A。直接赋值:

  var a = new Array(元素1,元素2,...);

B. 先声明,后赋值

 var a = new Array();
 a[0] = 元素1;
 a[1] = 元素2;
 .....

2. 隐匿声明:

 var a = [];

A。直接赋值:

var a = [元素1,元素2,...];

声明后赋值:
var a = [];
a[0] = "元素1";
a[1] = "元素2";

posted @ 2013-07-07 22:28  好记性还真不如烂笔头  阅读(172)  评论(0编辑  收藏  举报