Javascript学习笔记

来源:互联网 发布:软件的摊销年限 编辑:程序博客网 时间:2024/06/01 07:29

Javascript学习笔记

是一门程序设计语言

基于对象和事件驱动语言(点击之类的),用于客户端,不同于jsp是用在服务端的。

特点:

1,交互性

2,安全性(不允许直接访问硬盘)

3,跨平台(只要能解释JS的浏览器就可以执行,和平台无关。)

Javascript和Java之间的关系

Java和Javascript就像雷锋和雷峰塔的关系一样

1,Javascript基于对象,Java面向对象

2,Javascript解释执行,Java要先编译在执行。

3,Javascript弱类型,Java强类型。

Javascript和html结合方式

1,将javascript代码封装到<script>标签中

<script type="text/javascript">  alert("Hello Javascript");</script>

2,将javascript代码封装到js文件中,并通过<script>标签中的src属性进行导入。

注意:通过<script>中的src属性指定导入js之后,标签内部的js将不会执行。

<script type="text/javascript" src="demo.js"></script>

Javascript语法

1,关键字

2,标识符

3,注释

4,变量:标记一片内存空间

5,运算符

6,语句

7,函数

8,对象


5,运算符

<script type="text/javascript">//算术运算符var  x = 4235;//弱类型alert(x/1000*1000);//输出为4235,并不是4000alert("12"+1);//121alert("12"-1);//11alert(true+1);//2   js中false就是0或者null,非0非null就是true,默认用1表示。//逻辑运算符 && ||//位运算符 & | >><< >>>按位运算var c = 6;alert(c&3);//2alert(5^3^3);//5 异或同一个数,等于本身alert(c>>1);//3  右移1位 除以2的1次方alert(c<<2);//24 左移2位 乘以2的平方//三元运算符</script>


一些细节:

a.undefined:未定义,就是一个常量

b.获取变量类型:

<script type="text/javascript">typeof("abc");//string 为什么是小写typeof('9');//stringtypeof(true);//booleantypeof(2.5);//numbertypeof(78);//number</script>




6,语句

<script type="text/javascript">//顺序结构//if语句var x = 3;if(4 == x)//这样写可以预防错误{alert("no");}else{alert("yes")}//switch语句var x = "abc";switch(x)case "kk":alert("a");break;case "abc":alert("b");break;default:alert("c");break;//可省略//循环结构//while语句var x = 3;while(x<3){alert("x="+x);//将数据直接写到当前页面中  如果输出的字符串是html标签,此时浏览器就可以进行解析document.write("x="+x+"<br/>");x++;}//for语句 for(var x = 0;x<3;x++){document.write("x="+x);}//break:跳出选择结构,跳出循环结构//continue:结束本次循环,执行下次循环//带标号的循环。直接break w所表示的循环w:for(var x = 0;x<3;x++){for(var y = 0;y<4;y++){document.write("x="+x);break w;//跳出w表示的循环 continue w;  跳出w的当前循环,并进行下一次循环}}</script>




数组

1,数组长度是可变的

2,数组的元素类型是任意的

建议在使用数组时使用同一类型的数据,操作方便


<script type="text/javascript">  //定义方式1var arr = [];var arr1 = [1,2,3,5];alert(typeof(arr));alert("len="+arr.length);//定义方式2var arr = new Array();//与第一种一样var arr1 = new Array(5);//定义数组长度为5var arr2 = new Array(4,5,6);//定义一个数组,元素是4,5,6//遍历for(var x = 0;x<arr.length;x++){document.write("arr[x]")}</script>







7,函数

定义函数的格式

通过关键字来定义

function 函数名(参数列表){}

细节问题

1,只要使用了函数名称,就是对函数的调用

2,函数中有一个数组在对传入的参数进行存储,数组就是arguments,遍历该数组就可以拿到所有的传入参数

3,函数名就是函数对象的引用变量,如果直接把函数对象用字符串输出的话,那输出的结果就是函数的代码,如果把函数名赋值给另一个变量的话,那么就会有两个引用变量指向同一个函数对象。

<script type="text/javascript">//定义一个函数function demo(){alert("demo run");return;}demo();//函数调用//定义加法function add(x,y){return x+y;}var sum = add(4,5);alert("sum="+sum);//相关细节问题function show(x,y){alert("len="+arguments.length)alert("x="+x+"..y="+y);}show(4,5,6,7,8);function getSum()//函数名就是函数对象的引用变量,如果直接把函数对象用字符串输出的话,那输出的结果就是函数的代码{//如果把函数名赋值给另一个变量的话,那么就会有两个引用变量指向同一个函数对象return 100;}var sum1 = getSum();alert("sum1="+sum1);function show1(){alert("show1 run...");}alert(show1());//这个语句会先运行show1(),所以会先弹窗 show1 run...  然后再显示 show1 这个函数的运行结果 由于show1没有返回值,所以会再输出undefinedalert(show1);//show1 是一个引用变量,指向了show1函数对象,这个语句会将 show1的函数代码弹出</script>


动态函数

使用较少

使用的是js中的一个内置对象Function

Function中的参数全是字符串,可以通过外部赋值来改变函数的形参列表和具体函数功能

<script type="text/javascript">var add = new Function("x,y","var sum; sum = x+y; return sum;")var he = add(4,8);alert("he="+he);</script>

匿名函数

函数的简写形式


<script type="text/javascript">var add3 = function(){return a+b;}alert(add3(4,5));</script>


全局变量和局部变量

















待续。。。。。

<script type="text/javascript"></script>
                                             
0 0