js的一些学习笔记1

来源:互联网 发布:linux 部署tomcat 编辑:程序博客网 时间:2024/06/09 20:38

<script lang="javascript">//js内容</script>

javascript的基本介绍:



① js 是用于web开发的脚本语言
    脚本语言是什么:
1.脚本语言往往不能独立使用,它和html , jsp , php , asp , .net配合使用
2.脚本语言有自己的变量,函数,控制语句(顺序,分支,循环)
3.脚本语言是解释性语言(即在执行的时候,直接对源码进行操作)
4.js 由浏览器中的引擎执行
②js 在客户端(浏览器)执行
③用myeclipse进行学习
1.js 在浏览器中出现Google浏览器中出现乱码:在<script>标签中加入charset="GB2312"
2.js 在me自带的浏览器中出现乱码:在window选项中选择preference中的
general的content types在右边的窗口中打开列表,选中"JavaScript",
在下面的"default encoding"右边的输入框中输入"GBK"或"GB2312"再点"update"按钮,再打开JS文件就可以了。



js的基本语法

①js 中变量:
1.js 中变量均用var表示,不管实际类型是什么。
2.js 的变量类型总结:
a.js 是弱数据类型语言:甚至不写var都能运行。
b.js 中的变量中的数据类型由js 引擎决定。
c.js 中的标识符由数字,字母,下划线,美元符号$表示,但是不能以数字开头。不能用js中的保留字和关键字;并且区分大小写
②js 中的数据类型:
1.基本数据类型:(可以通过typeof来看具体数据类型: window.alert(typeof v1);)
a.数值型:
十进制,十六进制,八进制;
特殊数值:NaN(not a number),Infinity(无穷大),isNaN()--- 不是一个数返回true,isFinite()---判断是否为有穷大;
b.字符串:用" "或' '
c.布尔型:
2.复合类型:
a.null:
b.undefined:var a; window.alert(a);//此时输出undefined
③js 中的数据类型转换:
1.自动转换:即在变量值变化的时候变量的类型也在转换
2.强制转换:使用系统函数进行转换:
parseInt();
parseFloat();
在使用prompt()函数是输入的是字符串类型,需要强制转化成Int或float.
④js 中的运算符:+,-,*,/,%,
⑤js 中的逻辑运算符:&&,||,!:
1.NaN,false,null, undefined ,0 ,"" 均表示false
2.||将返回第一个不为false的那个值(对象也可以),如果全是false的话就返回最后一个值
var a=2;
var b=0;
var c=b||a;//c为2;
var d=false;
var e=false;
var f=d||e||b;//f为0;
⑥js 中的位运算和移位运算:
⑦js中的控制语句:
顺序控制;分支控制(if ,switch);
⑧js的调试:在ie中通过开发人员工具对js 进行调试。在Internet选项中选择高级中取消禁止脚本测试js的函数


①基本语法:
function 函数名(参数列表){
...//可以有返回值,也可以没有返回值。

}

一个小例子:

function jiSuan(num1,num2,operator){//参数中不要带var,函数前没有返回值。以function 作为关键字if(operator=="+"){window.alert(num1+num2);}else if(operator=="-"){window.alert(num1-num2);}else if(operator=="*"){window.alert(num1*num2);}else window.alert(num1/num2);



可以将javascript代码单独拿出来形成一个.js文件。
引入js文件:<script lang="javascript" scr="路径名" charset="GB2321"></script>
②函数调用:
1.普通调用:
函数名(实参);
2.通过指向函数的变量去调用:
var myvar = 函数名;

myvar(实参);//此时变量相当于函数的引用


3.关于接受函数返回值的问题:

var a = test("avb");//若test函数没有返回值但是又接受了该函数的返回值则此时的返回值类型为undefined

js中的数组

1.一维数组:用于存放一组数据,且在js中数组的元素可以是任意的数据类型,即var a = ["javascript" , 123 ,"1.1", 4.5, true]这样的形式也可以。

创建数组:

var 数组名 = [元素值,元素值,  ....];

一个小例子:

var weights=[3,"javascript","1.1",3.4,ture,50];for(var i=0;i<weights.length;i++){document.write(weights[i]+",");//输出weights数组中的每一个元素}

①数组在应用的过程中,若出现其他语言所谓的越界的情况时,会输出undefined,不会报错。

如:var a=[1,2];

访问a[3]时,会输出undefined,不能访问不存在的元素。

②js 的数组可以动态增长,如之前的数组a,a[3]=3; 则会输出啊a[3]为3,有点类似于Java中的arraylist。

如:

var a=[2,3];window.alert("size"+a.length);a[2]=3;window.alert("size"+a.length);window.alert(a[2]);

③数组的遍历:

可以使用for循环对数组进行遍历:

var weights=[3,"javascript",1.1,"3.4",true,50];for(var i=0;i<weights.length;i++){document.write(weights[i]+",");}


还有另一种方法:

for(var key in arr){

window.alert(key+"="arr[key]);

}

var b=[1,2,3];for(var key in b){window.alert(key+" = "+b[key]);}


2.二维数组:

定义:

var a=[ [],[],[] ];

其用法和一维数组没有什么差别。



0 0