javascript-老毕版
来源:互联网 发布:复制淘宝口令怎么使用 编辑:程序博客网 时间:2024/05/20 00:51
简述
javascript是基于对象和事件驱动的语音。
javascript是弱类型的语音。没有类型。
在客户端,只要有浏览器就可以简析,不允许直接访问本地硬盘。
javascript 和 html 相结合:
第一种内嵌式,可以写在页面的任何地方
<script type="text/javascript">
</script>
第二种链接式:
<script type="text/javascript" src="1.js"></script>
基本语法:
用弹窗演示结果:
<script type="text/javascript">alert("kkk");</script>
定义变量:
<script type="text/javascript">//没有类型,都用var申明变量。var x = 3; x = "abc"; // 单引号双引号都可以表示字符串,没有字符概念,双引号内部可以嵌套单引号。但是不可以不加引号,不加引号就被当作变量名了。alert(x);//当变量没有初始化,就显示undefined。//在进行运算的时候,x = 3250,x / 1000 * 1000 还等于 3250,而java中等于3000。这是和java的不同之处。</script>
if语句:
<script type="text/javascript">var x = 3;if ( 3==x )alert("yes");elsealert("no");//javascript中,非0值为真,通常用1表示。0为假。//true+1 = 2;//null为假,非空为真。//如果要 连接两个布尔型表达式,用 && 和 || 。//用 & 和 | 的时候,会对比较完的结果进行位运算(二进制运算)。</script>
switch语句:
<script type="text/javascript">var x = "abcd";switch(x){case "abc":alert("a");break;case "aa";alert("b");break;default:alert('c');break;}</script>
while循环:
<script type="text/javascript">var x = 1;while ( x < 3 ) //千万不要写死循环{alert("x="+x);x++;}</script>
for循环:
<script type="text/javascript">for(var x=0;x<3;x++) //注意式 var 申明。{alert("x="+x);}</script>
<script type="text/javascript">var sum = 0;for(var x = 1; x<=10; x++){sun += x;}alert("sum="+sum);</script>
<script type="text/javascript">var sum = "";for(var x=1; x<=4; x++){if(4==x)sum = sum + "x=" + x;elsesum = sum + "x=" + x + ",";}//alert(sum);document.write("< font color='red' >" + sum + "</font>"); //写在页面上。html标签要用双引号引起来。</script>
用表格形式显示一个99乘法表:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>99</title><style type="text/css">table{width:800px;border-collapse:collapse;}table th{border:#0066cc 1px solid;}</style></head><body><script type="text/javascript">document.write("<table>");for(var x=1; x<=9; x++){document.write("<tr>");for(var y=1; y<=x; y++){document.write("<th>" + y + " * " + x + " = " + y*x + "</th>");}document.write("</tr>");}document.write("</table>");</script></body></html>
数组:
<script type="text/javascript">var arr = [ “abc”, 1, true, 8.9 ];arr[6] = 100;for(var x=0; x<arr.length; x++){alert( arr[x] );}</script>//在javascript中,数组就是集合,是可变长度的。不存在越界。//弱类型,没有类型,什么都可以装。//是javascript最常用的容器。
在没有明确元素的情况下,还可以这样new数组:
<script type="text/javascript">var arr = new Array(); //可以随时往数组里添加元素。</script>
对数组元素进行排序:
<script type="text/javascript">var arr = [ 5, 1, 2, 7, 4, 9, 3 ];for(var x=0; x<arr.length-1; x++){for(var y=x+1; y<arr.length; y++){if( arr[x] > arr[y] ){var temp = arr[x];arr[x] = arr[y];arr[y] = temp;}}}for(var x=0; x<arr.length; x++){alert( arr[x] );}</script>
函数:
用function关键字 + 函数名 来定义函数:
<script type="text/javascript">function show(){alert("show run");}//与java相同,函数不调用是不会执行的。show();</script>
定义一个排序函数:
<script type="text/javascript">function sort( arr ){for(var x=0; x<arr.length;x++){for(var y=x+1; y<arr.length; y++){if(arr[x] > arr[y]){var temp = arr[x];arr[x] = arr[y];arr[y] = temp;}}}}var str = "";function printArray( arr ){for(var x=0; x<arr.length; x++){if(x != arr.length-1)str += arr[x] + "," ;elsestr += arr[x];}alert( str );}var arr = [5,1,2,7,4,9,3];sort(arr);printArray(arr);</script>
把全局变量赋给局部变量,局部变量的值改变了,全局变量没有变:
<script type="text/javascript">var x = 4;function show(x){x = 5;}show(x);alert(x);</script>
javascript中,函数没有重载形式:
<script type="text/javascript">function show(x,y){alert(x + "," + y);}show(3);</script>
函数内部有一个数组arguments专门用来接收参数的:
<script type="text/javascript">function show(){var str = "";for(var x=0; x<arguments.length; x++){if(x!=arguments.length-1)str += arguments[x] + "," ;elsestr += arguments[x];}alert("参数长度:" + arguments.length + "\n分别是:" + str);}show(3,4,5,6,7);</script>
定义函数的思路:
1.我要实现什么功能。
2.实现这个功能要用到哪些未知内容参与运算。用到哪些未知内容都把它定义在参数上。
3.函数是可以return的。
如果你在调用函数的时候少写一个括号,
在java中你就挂掉了,可是在javascript中会返回这个函数的函数体:
<script type="text/javascript">function show(){return 4;}var x = show; //这里调用函数,少写一个括号。alert(x);</script>
函数本身在javascript中就是一个对象,而show就是这个对象的名字。show就指向了这个函数对象。
var x = show(); //这块你加上括号,意思是:x在接收show()函数运行后的结果。
var x = show; //不加括号,意思是:x指向了show所指向的那个函数对象。
动态函数:
在javascript中有一个内置的对象,叫Function。
<script type="text/javascript">var show = new Function("x","y","var sum = x+y; return sum;");var sum = show(3,5);alert(sum);</script>
这种定义函数的方法:可以将参数和函数体都可以作为变量向内传递。
匿名函数:
<script type="text/javascript">var show = function(){alert("show run");}show();</script>
匿名函数可以作为一个事件的处理方式存在。
<script type="text/javascript">window.onload = function(){alert("onload over!");}</script>
<script type="text/javascript">window.onload = method;function method(){alert("onload over!");}</script>
创建一个对象:
描述一个人:
无参构造函数:
<script type="text/javascript">function Person(){alert("Person init!");}var p = new Person();p.name = "zhangsan";p.age = 50;p.eat = function(){return "chifan";}alert(p.name + "," + p.age + "," + p.eat());</script>
有参构造函数:
<script type="text/javascript">function Person(name,age){this.name = name;this.age = age;}var p = new Person("xiaozhu",20);alert(p["name"] + " : " + p.age); //两种形式.和[""]调用。</script>
" . 和 [ ] " 两种调用方式的不同:
[ ]调用方式 :那些属性可以做为字符串往里传递。其实p就像一个数组一样,属性全是数组里的元素。
到以后遍历对象的时候就能看出它的作用了。
Person 的 P 不一定要大写,只是增加阅读性而已。
我们可以将对象封装成一个js文件,方便以后复用:
person.js :
function Person(name,age){this.name = name;this.age = age;}var p = new Person("xiaozhu",20);
<html><head></head><body><script type="text/javascript" src="person.js"></script><script type="text/javascript">alert(p["name"] + " : " + p.age);</script></body></html>
照样能运行:
test.html :
<html><head></head><body><script type="text/javascript" src="person.js"></script><script type="text/javascript">var p = new Person("wangwu",50);alert(p["name"] + " : " + p.age);</script></body></html>
也能运行:
还能做一些其他事情:
person.js :
function Person(name,age){this.name = name;this.age = age;}var p = new Person("xiaozhu",20);p.getName = function(){return p.name;}p.getAge = function(){return p.age;}
test.html :
<script type="text/javascript" src="person.js"></script><script type="text/javascript">alert(p.getName());</script>
作业:
将获取数组的最大值、最小值、排序的方法封装到一个js文件里,以便复用:
arraytool.js :
function ArrayTool(){}var ArrayTool = new ArrayTool();ArrayTool.getMax = function(arr){var Max = arr[0];for(var x=1; x<arr.length; x++){if(arr[x] > Max){Max = arr[x];}}return Max;}ArrayTool.getMin = function(arr){var Min = arr[0];for(var x=1; x<arr.length; x++){if(arr[x] < Min){Min = arr[x];}}return Min;}ArrayTool.sort = function(arr){for(var x=0; x<arr.length-1; x++){for(var y=x+1; y<arr.length; y++){if(arr[x]>arr[y]){var temp = arr[x];arr[x] = arr[y];arr[y] = temp;}}}return arr;}ArrayTool.print = function(arr){var str = "";for(var x=0; x<arr.length; x++){if(x!=arr.length-1)str += arr[x] + ",";elsestr += arr[x];}alert(str);}
test.html :
<html><head></head><body><script type="text/javascript" src="arraytool.js"></script><script type="text/javascript">var arr = [5,6,3,1,9,0];alert("Max="+ArrayTool.getMax(arr));alert("Min="+ArrayTool.getMin(arr));alert("sort:"+ArrayTool.sort(arr));</script></body></html>
0 0
- javascript-老毕版
- Javascript
- JavaScript
- javascript
- javascript
- javascript
- javascript
- javascript
- JavaScript
- javascript
- JavaScript
- Javascript
- javascript
- javascript
- JavaScript
- javascript
- javascript
- JavaScript
- 【神经网络学习笔记】语音识别-matlab语音信号预处理
- 猫扑实战分享:如何在预算几乎为0的情况做活动运营
- Spring MVC 入门教程一
- poj 2395 最小瓶颈树(kruskal)
- V4L2文档翻译(一)
- javascript-老毕版
- 将svn的exe服务的启动建立为一个服务
- RK30SDK开发板驱动分析(一):platform device 的概念与注册
- OLAP及Cognos8报表性能调节--网上转载,未经测试
- 项目管理案例 万科的管理模式
- 数字视频矩阵
- 如何从程式中传入内表中的数据到maintain view, 以便数据显示时按照某两个栏位排序
- 基础复习------命名空间导入及访问类对象方法
- Delphi正则表达式使用方法(TPerlRegEx)