JS 笔记
如何定义一个函数呢?基本语法如下:
function 函数名() { 函数代码; }
说明:
1. function定义函数的关键字。
2. "函数名"你为函数取的名字。
3. "函数代码"替换为完成特定功能的代码。
我们来编写一个实现两数相加的简单函数,并给函数起个有意义的名字:“add2”,代码如下:
function add2(){ var sum = 3 + 2; alert(sum); }
JavaScript变量可以不声明就使用
声明的变量为局部变量,未声明的变量为全局变量。
函数调用:
函数定义好后,是不能自动执行的,所以需调用它,只需直接在需要的位置写函数就ok了,代码如下
JavaScript-警告(alert 消息对话框)
语法:
alert(字符串或变量);
<script type="text/javascript"> var mynum = 30; alert("hello!"); alert(mynum); </script>
JavaScript-确认(confirm 消息对话框)
confirm 消息对话框通常用于允许用户做选择的动作,如:“你对吗?”等。弹出对话框(包括一个确定按钮和一个取消按钮)。
语法:
confirm(str);
参数说明:
str:在消息对话框中要显示的文本 返回值: Boolean值
返回值:
当用户点击"确定"按钮时,返回true 当用户点击"取消"按钮时,返回false
注: 通过返回值可以判断用户点击了什么按钮
看下面的代码:
<script type="text/javascript"> var mymessage=confirm("你喜欢JavaScript吗?");//该变量要在函数体内, 不然会先弹出对话框。 if(mymessage==true) { document.write("很好,加油!"); } else { document.write("JS功能强大,要学习噢!"); } </script>
结果:
注: 消息对话框是排它的,即用户在点击对话框按钮前,不能进行任何其它操作。
JavaScript-提问(prompt 消息对话框)
prompt
弹出消息对话框,通常用于询问一些需要与用户交互的信息。弹出消息对话框(包含一个确定按钮、取消按钮与一个文本输入框)。
语法:
prompt(str1, str2);
参数说明:
str1: 要显示在消息对话框中的文本,不可修改 str2:文本框中的内容,可以修改
返回值:
1. 点击确定按钮,文本框中的内容将作为函数返回值 2. 点击取消按钮,将返回null
看看下面代码:
var myname=prompt("请输入你的姓名:"); if(myname!=null) { alert("你好"+myname); } else { alert("你好 my friend."); }
结果:
注:在用户点击对话框的按钮前,不能进行任何其它操作。
JavaScript-打开新窗口(window.open)
open() 方法可以查找一个已经存在或者新建的浏览器窗口。
语法:
window.open([URL], [窗口名称], [参数字符串])
参数说明:
URL:可选参数,在窗口中要显示网页的网址或路径。如果省略这个参数,或者它的值是空字符串,那么窗口就不显示任何文档。 窗口名称:可选参数,被打开窗口的名称。 1.该名称由字母、数字和下划线字符组成。 2."_top"、"_blank"、"_self"具有特殊意义的名称。 _blank:在新窗口显示目标网页 _self:在当前窗口显示目标网页 _top:框架网页中在上部窗口中显示目标网页 3.相同 name 的窗口只能创建一个,要想创建多个窗口则 name 不能相同。 4.name 不能包含有空格。 参数字符串:可选参数,设置窗口参数,各参数用逗号隔开。
参数表:
例如:打开http://www.imooc.com网站,大小为300px * 200px,无菜单,无工具栏,无状态栏,有滚动条窗口:
<script type="text/javascript"> window.open('http://www.imooc.com','_blank','width=300,height=200,menubar=no,toolbar=no, status=no,scrollbars=yes') </script>
注意:运行结果考虑浏览器兼容问题。
JavaScript-关闭窗口(window.close)
close()关闭窗口
用法:
window.close(); //关闭本窗口
或
<窗口对象>.close(); //关闭指定的窗口
例如:关闭新建的窗口。
<script type="text/javascript"> var mywin=window.open('http://www.imooc.com'); //将新打的窗口对象,存储在变量mywin中 mywin.close(); </script>
注意:上面代码在打开新窗口的同时,关闭该窗口,看不到被打开的窗口。
一维数组
var myarr=new Array();
myarr.length;
二维数组
1 var myarr=new Array();
for(var i=0;i<arr.length;i++){//这里不能用Int
myarr[i]=new Array();
for(var j=0;j<arr.length;j++){
myarr[i][j];}
}
2. 二维数组的定义方法二
var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3]]
3. 赋值
myarr[0][1]=5; //将5的值传入到数组中,覆盖原有值。
说明: myarr[0][1] ,0 表示表的行,1表示表的列。
<!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>第7章</title> <script type="text/javascript"> var date=new Date(); var year=date.getFullYear(); var month=date.getMonth(); var day=date.getDay(); var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六",] document.write(year+"年"+month+"月"+day+"日"+""+weekday[date.getDay()]+"<br>"); //星期的设置需要另外设置一个数组,不然返回的是数字 document.write("当前时间"+date+"<br>");//获取当前系统时间 date.setTime(date.getTime()+60*60*1000);// 一小时 60 分,一分 60 秒,一秒 1000 毫秒 document.write("当前时间"+date+"<br>");//通过date.setTime()可以改变当前的时间 //使用 String 对象的 toUpperCase() 方法来将字符串小写字母转换为大写: var mystr="Hello world!"; var mynum=mystr.toUpperCase();//stringObject.toUpperCase可以将字符串小写字母转换为大写 //toLowerCase则相反。 document.write("当前的字符串为:"+mynum+"<br>"); document.write("返回为该字符串最后一个字符:"+mystr.charAt(mystr.length-1)+"<br>"); //stringObject.charAt(index) /*1.字符串中第一个字符的下标是 0。最后一个字符的下标为字符串长度减一(string.length-1)。 2.如果参数 index 不在 0 与 string.length-1 之间,该方法将返回一个空字符串。*/ document.write("第二次出现o的位置为:"+mystr.indexOf("o",mystr.indexOf("o")+1)+"<br>");//mystr.indexOf("o")+1 返回第二个o的位置 /*indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。 1.indexOf() 方法区分大小写。 2.如果要检索的字符串值没有出现,则该方法返回 -1。 语法 stringObject.indexOf(substring, startpos)*/ document.write("当前的数组被分割为:"+mystr.split("",mystr.length)+"<br>"); /* split() 方法将字符串分割为字符串数组,并返回此数组。 语法: stringObject.split(separator,limit) 第2个为空,则不限制次数。 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。*/ document.write("当前字符串第一个位置到第一个为空之间的字符串为:"+mystr.substring(0,mystr.indexOf(" ")) +"<br>");//mystr.indexOf(" ")括号中间要有空格 /*substring() 方法用于提取字符串中介于两个指定下标之间的字符。 语法: stringObject.substring(startPos,stopPos) 1. 返回的内容是从 start开始(包含start位置的字符)到 stop-1 处的所有字符,其长度为 stop 减start。 2. 如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。 3. 如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。 */ document.write("当前字符串第一个位置到第一个为空之间的字符串为:"+mystr.substr("w",mystr.indexOf("!")) ); /*substr() 方法从字符串中提取从 startPos位置开始的指定数目的字符串。 语法: stringObject.substr(startPos,length)*/ </script> </head> <body> </body> </html>
Array 数组对象
数组对象是一个对象的集合,里边的对象可以是不同类型的。数组的每一个成员对象都有一个“下标”,用来表示它在数组中的位置,是从零开始的
<!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>无标题文档</title> <script type="text/javascript"> var js1="I"; var js2="Love"; var js3="javascript"; document.write("连接的字符为"+js1.concat(js2,js3)+"<br>"); /* concat() 方法用于连接两个或多个数组。此方法返回一个新数组,不改变原来的数组。 该方法不会改变现有的数组, 而仅仅会返回被连接数组的一个副本。 语法 arrayObject.concat(array1,array2,...,arrayN) */ var myarr = new Array(3) myarr[0] = "I"; myarr[1] = "love"; myarr[2] = "JavaScript"; document.write("用.连接的字符为"+myarr.join(".")+"<br>"); /* join()方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。 返回一个字符串,该字符串把数组中的各个元素串起来,用<分隔符>置于元素与元素之间。 这个方法不影响数组原本的内容。 我们使用join()方法,将数组的所有元素放入一个字符串中 语法: arrayObject.join(分隔符)*/ document.write("颠倒后的字符串"+myarr.reverse()+"<br>"); /* reverse() 方法用于颠倒数组中元素的顺序。 语法: arrayObject.reverse() 注意:该方法会改变原来的数组,而不会创建新的 数组。*/ document.write("颠倒后的字符串"+myarr.slice(0)+"<br>"); /* slice() 方法可从已有的数组中返回选定的元素。 1.返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。 2. 该方法并不会修改数组,而是返回一个子数组。 3.如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。 注意: 语法 arrayObject.slice(start,end)*/ var mynum =[80,16,50,6,100,1]; function sort(a,b) { return b-a;//b-a则为降序 } document.write(mynum.sort(sort));
/*
sort()方法使数组中的元素按照一定的顺序排列。
语法:
arrayObject.sort(方法函数)
*/ </script> </head> <body> </body> </html>