如何定义一个函数呢?基本语法如下:

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>

JS 笔记的更多相关文章

  1. Data Visualization and D3.js 笔记(1)

    课程地址: https://classroom.udacity.com/courses/ud507 什么是数据可视化? 高效传达一个故事/概念,探索数据的pattern 通过颜色.尺寸.形式在视觉上表 ...

  2. js笔记-0

    #js笔记-0 数组: indexOf方法: Array也可以通过indexOf()来搜索一个指定的元素的位置: var arr = [10, 20, '30', 'xyz']; arr.indexO ...

  3. PPK谈JS笔记第一弹

    以下内容是读书笔记,再一次温习JS好书:PPK谈JS window.load=initializePageaddEventSimple('window','load',function(){}) lo ...

  4. 面向小白的JS笔记 - #Codecademy#学习笔记

    前言 最初浏览过<JavaScript秘密花园>,前一段时间读过一点点<JavaScript语言精粹>和一点点<JavaScript高级程序设计>(一点点是指都只是 ...

  5. require.js笔记

    笔记参考来源:阮一峰  http://www.ruanyifeng.com/blog/2012/10/javascript_module.html   1. 浏览器端的模块只能采用“异步加载”方式 = ...

  6. JS笔记 入门第四

    小测试: 注意:取消所有的设定可以直接使用 document.getElementById("txt").removeAttribute("style"); 这 ...

  7. JS笔记 入门第二

    输出内容 document.write(); alert("hello!"); alert(mynum); </script> 注:alert弹出消息对话框(包含一个确 ...

  8. Node.js笔记1

    Node.js入门笔记 1. node -help 可以显示帮助信息2. node REPL 模式(Read-eval-print loop) 输入—求值—输出循环 直接在cmd输入node 可以进入 ...

  9. JS笔记 入门第一

    WHY? 一.你知道,为什么JavaScript非常值得我们学习吗? 1. 所有主流浏览器都支持JavaScript. 2. 目前,全世界大部分网页都使用JavaScript. 3. 它可以让网页呈现 ...

  10. 奇舞js笔记——第0课——如何写好原生js代码

    摘要 1.好的代码职责要清晰,javscript不要用来操作样式: 2.API要设计的合理:通用性,适度的抽象(数据抽象,过程抽象),可扩展性: 3.效率问题:用好的.合适的算法(前端程序员要把自己当 ...

随机推荐

  1. Robotium 系列(2) - 简单介绍Monkey和MonkeyRunner

    除了Robotium,Android还有其他的自动化测试方法,比如Monkey和MonkeyRunner. 这里就做一个简单的介绍和使用方法. 本文提纲: 1. Android SDK以及SDK中的工 ...

  2. VC6.0的工程设置解读Project--Settings

    [原文:http://wenku.baidu.com/view/f10a241dff00bed5b9f31ddd.html] 做开发差不多一年多了,突然感觉对VC的工程设置都不是很清楚,天天要和VC见 ...

  3. 利用CryptoStream进行加密解密

    public class DBSecurity { //sKey sIV这两个自己随意设定,不能外泄 private const string sKey = "11,22,33,43,34, ...

  4. python网络编程(六)---web客户端访问

    1.获取web页面 urllib2 支持任何协议的工作---不仅仅是http,还包括FTP,Gopher. import urllib2 req=urllib2.Request('http://www ...

  5. bzoj 3130 [Sdoi2013]费用流(二分,最大流)

    Description Alice和Bob在图论课程上学习了最大流和最小费用最大流的相关知识.    最大流问题:给定一张有向图表示运输网络,一个源点S和一个汇点T,每条边都有最大流量.一个合法的网络 ...

  6. POJ 1738 石子合并2 GarsiaWachs算法

    石子合并(GarsiaWachs算法) 只能用该算法过!!! 详解看代码 //#pragma comment(linker, "/STACK:167772160")//手动扩栈~~ ...

  7. Node.js也分裂了-开源社区动态

    继CoreOS与Docker分道扬镳继而推出自己的容器引擎Rocket后不久,又传来了Node.js分裂的消息.由于Node.js的贡献者因对负责Node.js开发的公司Joyent在对Node.js ...

  8. Redhat Enterprise Linux 6.4图形界面的中文问题

    一.界面中文,但Windows中的中文文件名上传到linux后乱码. .bashrc文件: export LANG=zh_CN.UTF-8 /etc/sysconfig/i18n文件: LANG=&q ...

  9. Javascript and DOM学习

    1.输出 document.write.(); 2.alert警告 3.confirm消息对话框:当用户点击"确定"按钮时,返回true,取消时,返回false 4.prompt提 ...

  10. HDU-4336 Card Collector 概率DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4336 题意:买食品收集n个卡片,每个卡片的概率分别是pi,且Σp[i]<=1,求收集n个卡片需要 ...