var globe = "全局变量"; //globe是全局变量,不管加不加var
test();
function test()//js 方法写法:function(固定)+方法名字
{
var local = "局部变量"; //local是局部变量
//如果在函数中声明时不加var 也会变成全局变量。 js的诡异
document.writeln(globe);//将变量值写到页面上
document.writeln(local);
}
document.writeln(globe);
document.writeln(local);
function test2(){
var i = 3;
alert(i);
i=true;//js是弱类型
alert(i);
}
with (document) {//后面的 write都是 document对象下的方法,用了with不用挨个 document.write()...
write("<ul>");
write("<li>hello</li>");
write("<li>world</li>");
write("<li>hello world</li>");
write("</ul>");
}
function member(name, gender) //可以看成构造函数(可以new,生成的都是方法的实例,没有class概念),也可以看成普通函数 不能指定参数的类型,直接写参数名字
{
this.name = name;
this.gender = gender;
}
function showProperty(obj, objString)
{
var str = "";
for(var i in obj)//遍历对象里面的每个属性,obj 传进来是一个对象
{
str += objString + "." + i + " = " + obj[i] + "<br>";
}
return str;//带返回值
}
var obj = new member("蛋蛋", "男"); //建立对象实例
document.writeln(showProperty(obj,"person"));
var date = new Date();//Date 内置对象
var day = date.getDay();//0-6 0表示星期天
if(0 == day)
{
day = "日";//星期0 改为星期天
}//date.getMonth()//返回的是0-11 表示月份
//date.getYear() 是减去1900后的
document.writeln("现在时刻: " + (date.getYear() + 1900) + "年 " + (date.getMonth() + 1) + "月" +
date.getDate() + "日" + " 星期" + day + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds())
// document.writeln(date)
//var fruit = new Array("苹果", "鸭梨", "橙子");
//var fruit = ["苹果", "鸭梨", "橙子"]; //推荐使用,没有new Array() 直接赋值
var fruit = new Array();//数组对象Array JS内置,可自由扩容,里面放的数据类型可以不同
//new Array(); 调用无餐的构造方法,括号可以不写,但是调用有参数的构造方法必须写括号
fruit.push("苹果");//数组可以当作队列或者栈来用,让数组里逐个增加元素,下标也是0开始的
fruit.push("鸭梨");
fruit.push("橙子");
fruit.push("香蕉");
fruit.push("西瓜");
for(var i = 0; i < fruit.length; i++)
{
document.writeln("fruit[" + i + "] = " + fruit[i] + "<br />")
}
var fruit = ["苹果", "香蕉", "桔子"];
fruit.pop();//从队尾去掉一个元素
with(document)
{
write("<ul>");
write("<li>" + fruit.join() + "</li>");//苹果,香蕉,桔子(默认逗号分割)
write("<li>" + fruit.join(":") + "</li>");//苹果:香蕉:桔子
write("<li>" + fruit.toString() + "</li>");//苹果,香蕉,桔子
write("<li>" + fruit.reverse().join() + "</li>");//桔子,香蕉,苹果
write("<li>" + fruit.valueOf() + "</li>");//桔子,香蕉,苹果(数组引用,前面已经倒序过了)
write("</ul>");
}
var fruit = new Array(3);
fruit[0] = new Array("苹果", 2);//二维数组
fruit[1] = new Array("桔子", 3);
fruit[2] = new Array("西瓜", 4);
for(var i = 0; i < fruit.length; i++)
{
for(var j = 0; j < fruit[i].length; j++)
{
document.write("fruit[" + i + "][" + j + "] = " + fruit[i][j] + "<br>");
}
document.write("<br>");
}
var str = "javascript";
var num = 1234;
with(document)
{
write(str.toUpperCase() + "<br>");//转成大写
write(num.toString().charAt(2), "<br>", "<br>");//取索引2的字符,任何元素都有toString()
write(str.substring(0,4), "<br>");//0(包含)截取到4(不包含)的位置,write方法:逗号和加号都是拼接
}
function isEmail()
{
//var emailValue = document.getElementsByName("email")[0].value; 也可以用下面那种方式取值
emailValue = document.getElementById("emailId").value;
if(emailValue.indexOf("@") == -1)//返回字符串的索引位置,没有就返回-1
{
alert("请填写正确的Email地址");
}
else
{
alert("ok");
}
}
function member(name, gender)
{
this.name = name;
this.gender = gender;
}
var m1 = new member("zhangsan", "m");//实例一个对象
var m2 = new member("lisi", "m");
var m3 = new member("wangwu", "f");
with(document)
{
write(m1.name + ":" + m1.gender + "<br>");
write(m2.name + ":" + m2.gender + "<br>");
write(m3.name + ":" + m3.gender + "<br>");
}
function member(name, gender) {
this.name = name;
this.gender = gender;
this.display = display; //指定member对象的display方法,相当于一个成员方法
}
function display() {
var str = this.name + " : " + this.gender;
document.writeln(str + "<br>");
}
var m1 = new member("zhangsan", "f");//定义对象的一种方式
var m2 = new member("lisi", "f");//加不加分号都可以,但是最佳实践加上!
var m3 = new member("wangwu", "m");
m1.display();
m2.display();
m3.display();
<script type="text/javascript">
function mOver(object) {
object.color = "red";
}
function mOut(object) {
object.color = "blue";
}
</script>
</head>
<body>
<!--
style="cursor:hand 内联样式,优先级最高"
window:整个浏览器对象,里面方法可以直接用 例如alert
onclick="window.location.href='http://www.google.com'" :外面是双引号,里面就用单引号指定
onmouseover:鼠标滑倒上面的时候
onmouseout:鼠标离开的时候
this:font对应的那个元素的对象,就是当前font对象
-->
<font style="cursor:hand"
onclick="window.location.href='http://www.google.com'"
onmouseover="mOver(this)" onmouseout="mOut(this)">欢迎访问</font>
//JS总的就两个定时器 一个 setTimeout
//setTimeout在指定时间之后执行指定的动作(JS的函数),JS内置函数
function count() {
setTimeout(sayhello(), 1000);
}
function sayhello(){
alert("a");
}
<input type="button" value="计时开始" onclick="count();">
//第二种定时器 setInterval 每隔一段时间执行动作
var sec = 0;
var timeId = setInterval("count();", 1000);//每隔1s,执行count(),在页面一加载就执行,因为是成员变量
//innerHTML : 获得元素的html文本
function count() {
document.getElementById("num").innerHTML = sec++;
}
//关窗口,刷新页面,clearInterval函数 只有这3中能使 Interval终止执行
function stopCount() {
clearInterval(timeId);//终止定时器,参数:setInterval的返回值
}
<font color="red" id="num">0</font>秒钟
<input type="button" value="停止" onclick="stopCount();">
<head>
<script type="text/javascript">
function checkPassword(object) {
if (object.value.length <= 4) {
alert("密码长度过短");
object.focus();//把鼠标焦点从新定位到输入域
object.select();//将已有的内容选中 firefox不支持
}
}
</script>
</head>
<body>
<!--
JS内置对象(基于浏览器的,不同浏览器提供的功能不一样):图像对象 导航对象(window) 窗口对象 屏幕对象 事件对象 历史对象
文件对象 描点对象 连接对象 框架对象 表单对象 位置对象
重点: 文件对象 表单对象
-->
密码:<!-- onblur:鼠标离开当前输入域 -->
<input type="password" onblur="checkPassword(this)">
</body>
//点确定就返回真,取消就返回假
if (confirm("你想继续么?"))//confirm 内置函数,这函数的返回值决定后续流程
{
window.location.href = "http://www.google.com";
} else {
alert("Bye");
}
with(document)
{
write("屏幕设定值<br>");
write("实际高度:" ,screen.availHeight, "<br>");//728 减去任务栏的高度
write("实际宽度:" ,screen.availWidth, "<br>");//1366
write("屏幕区域高度: " , screen.height, "<br>");//768
write("屏幕区域宽度:", screen.width, "<br>");//1366
}
function getEvent(event)
{
alert("事件类型: " + event.type);
}
document.write("单击...");
//document.onmousedown 整个文档对象 的 鼠标点击事件
document.onmousedown = getEvent;
</script>
<input type="button" value="我是一个按钮" id="button1">
<script type="text/javascript">
var v = document.getElementById("button1");
alert(v);
v.onclick = clickHandler;//只能写名字 不能加括号
function clickHandler()//IE:方法里不写event参数也行,firefox不行,firefox会生成一个事件对象(名字任意)
//IE:用本身产生的对象event(名字固定)
{
alert(event.type);
}
<head>
<script type="text/javascript">
var timerId;
function loadPage()
{
//setInterval:执行多次只能用setInterval
timerId = setInterval('countDown()', 1000);
}
</script>
</head>
<!-- onload:页面整体结构加载完才执行,下面的countDown() 也加载完毕 所以可以执行 -->
<body onload="loadPage();">
<script type="text/javascript">
var sec = 10;
function countDown()
{
if(sec > 0)
{
document.getElementById("num").innerHTML = sec--;
}
else
{
clearInterval(timerId);
//window下的对象 不用写 window前缀
location.href = "http://www.google.com";
}
}
</script>
<br>
<font id="num" size="7">10</font>秒钟后前往
</body>
<script type="text/javascript">
function linkGetter()
{
//links 属性: 返回当前文档的所有链接
//alert(document.links.length + "个搜索引擎");
for(var i = 0; i < document.links.length; i++)
{
alert(document.links[i]);
}
}
</script>
</head>
<body>
<h1>常用的搜索引擎</h1>
<a href="http://www.google.com">Google</a><br>
<a href="http://www.baidu.com">Baidu</a><br>
<a href="http://www.yahoo.com">Yahoo</a><br>
<a href="http://www.sogou.com">Sogou</a><br>
<a href="http://www.bing.com">Bing</a><br>
<input type="button" value="Address" onclick="linkGetter();">
</body>
<head>
<script type="text/javascript">
function moveNext(object, index)
{
if(object.value.length == 4)
{
//form只有5个元素
//第四个输入域好后 焦点就在现在的button上面
document.forms[0].elements[index + 1].focus();
}
}
function showResult()
{
//拿到第一个form
var f = document.forms[0];
var result = "";
for(var i = 0; i < 5; i++)
{
result += f.elements[i].value;
}
alert(result);
}
</script>
</head>
<!-- document.forms[0].elements[0].focus(); 第一个form 的第一个元素 得到焦点 -->
<body onload="document.forms[0].elements[0].focus();">
<form>
<!--onkeyup:键盘事件 按下松开后触发 -->
<input type="text" size="3" maxlength="4" onkeyup="moveNext(this, 0);">-
<input type="text" size="3" maxlength="4" onkeyup="moveNext(this, 1);">-
<input type="text" size="3" maxlength="4" onkeyup="moveNext(this, 2);">-
<input type="text" size="3" maxlength="4" onkeyup="moveNext(this, 3);">
<input type="button" value="显示" onclick="showResult();" >
</form>
</body>
<script type="text/javascript">
var today = new Date();
var expireDay = new Date();
//31天的毫秒
var msPerMonth = 24 * 60 * 60 * 1000 * 31;
//重新设置时间 当前的时间 加 一个月的时候. 也就是31天后的时间.
//cookie保存31天 31天不用重新登陆
expireDay.setTime(today.getTime() + msPerMonth);
//expireDay.toGMTString(): 返回cookie要求的时间格式. 内置方法
//这样就把cookie写到硬盘上了
document.cookie = "name=zhang;expires=" + expireDay.toGMTString();
document.writeln("cookie已经写到硬盘上了");
document.writeln("内容是:" + document.cookie);
document.writeln("有效日期是:");
document.writeln(expireDay.toGMTString());
</script>
//函数的本源是一个对象.
//如果此时传两个参数 则一一对应,第二个参数不接收
function add(number)
{
alert(number + 20);
}
/* 这种写法和上面的写法等价.
* 上面的写法会转换成这种.
* add 指向对象的引用(函数)
*
* 很多框架中都用这种方式定义.
* JS中因为没有方法的重载
var add = function(number)
{
alert(number);
}
*/
function add(number, number1)
{
alert(number);
alert(number1);//传一个参数的时候 会打印:Undefined 类型 值为undefined(Undefined类型只有一种值,类似boolean只有两种)
alert(number+20);
}
/*
* 这种写法和上面的写法等价
* 上上的add 的引用就替换成此时的add了.
* 两个参数的方法,可以用一个参数调用,一一对应,传一个参数就和第一个位置的参数对应
var add = function(number, number1)
{
alert(number + 30);
}
*/
add(10);//只执行最后一个add方法.
<script type="text/javascript">
//add(20);
//Function对象(F大写):接收参数是不定长的,对于Function对象,所有的参数都是字符串类型,最后一个参数为方法体,前面的为参数
//自定义函数的本质:声明一个Function对象,函数的 名字 指向对象的引用
var add = new Function("number", "number1", "alert(number + number1);");
//add 指向新的引用
var add = new Function("number", "alert(number + 20);");
add(10, 30);
</script>
function add(number1, number2)
//每个函数都有隐式的对象 arguments
{
alert(arguments.length);//实际赋参的个数.
alert(arguments[0]);//实际传的值 与 方法头的形参没关系
alert(arguments[1]);
alert(arguments[2]);
}
//add(2, 3, 4);
function add2()
{
//很多框架都通过这种方式 实现重载
if(1 == arguments.length)
{
alert(arguments[0]);
}
else if(2 == arguments.length)
{
alert(arguments[0] + arguments[1]);
}
else if(3 == arguments.length)
{
alert(arguments[0] + arguments[1] + arguments[2]);
}
}
add2(3);
add2(3, 4);
add2(3, 4, 5);
<head>
<script type="text/javascript">
function validate()
var num = document.getElementsByName("number")[0];
if(num.value.length < 1)
{
alert("输入不能为空!");
num.focus();
return false;
}
//判断每一个是否都数字
for(var i = 0; i < num.value.length; i++)
{
var param = "0123456789";
//param.indexOf 全局函数
if(param.indexOf(num.value.charAt(i)) == -1)
{
alert("输入必须为数字");
num.focus();
return false;
}
}
//parseInt:全局函数
if(parseInt(num.value) < 5 || parseInt(num.value) > 15)
{
num.value = 10;
}
return true;
}
</script>
</head>
<body>
<!-- onsubmit:提交的时候做检查 -->
<form action="end.jsp" name="form1" method="post" onsubmit="return validate();">
请输入数字 (5——15)<input type="text" name="number"><br>
<input type="submit" value="submit">
</form>
</body>
var value = <%= request.getParameter("number")%>;//看执行时机 tomcat解析jsp的时候把值直接放在var value = 后面
//传递到客户端再执行下面的alert
alert(value);
function checkAll()
{
//获得所有复选框
var s = document.getElementsByName("check");
//获得全选的复选框(就上面那个框)
var m = document.getElementsByName("all")[0];
//如果上面那个框选中,下面就让全部选中
if(m.checked)
{
for(var i = 0; i < s.length; i++)
{
s[i].checked = true;
}
}
else
{
//上面那个不选 下面都不选
for(var i = 0; i < s.length; i++)
{
s[i].checked = false;
}
}
}
//基于事件,每单击展开或收缩就产生一个事件
function turn()
{
with(document)
{
//获得按钮
var m = getElementById("change");
//获得表格对象
var n = getElementById("table");
if(m.value == "收缩")
{
//要把表格收起来,
//操作的对象.style(属性).对象可用的样式
n.style.display = "none";//表格不显示出来
m.value = "展开";//把按钮名字改为展开
}
else
{
n.style.display = "block";//展开
m.value = "收缩";
}
}
}
<table border="1" align="center" width="60%">
<tr>
<td>
<input type="checkbox" name="all" onclick="checkAll();">全选
</td>
<td>
<input type="button" value="收缩" id="change" onclick="turn();">
</td>
</tr>
</table>
<% int number = Integer.parseInt(request.getParameter("number")); %>
<table border="1" align="center" width="60%" id="table">
<% for(int i = 1; i <= number; i++)
{%>
<tr>
<td>
<input type="checkbox" name="check">
</td>
<td>
<%= i %>
</td>
</tr>
<%} %>
</table>
分享到:
相关推荐
JavaScript,简称JS,是由Brendan Eich在1995年创造的一种高级编程语言,最初目的是为了增强网页的交互性,特别是在前端进行表单验证。...这些类型构成了JS编程的基础,理解和掌握它们是学习JavaScript的第一步。
### Gwt-ext学习笔记之基础篇 #### 一、安装CypalStudio工具 为了能够开始Gwt-ext的学习之旅,首先需要确保开发环境已经搭建好。CypalStudio是一款非常实用的工具,它能帮助开发者更高效地进行GWT项目的开发。 1....
这篇“web学习笔记——javascript基础”将带你走进JavaScript的世界,理解其基本概念和常用语法。 JavaScript语法基础: 1. 变量:在JavaScript中,变量用于存储数据。声明变量使用`var`关键字,例如`var myVar = ...
这个学习笔记是我基于B站视频Mosh的JavaScript基础篇学习记录的一些笔记和代码。 内容不多,也就作为一个大家学习的参考。 免费的笔记,如果你喜欢,请和大家分享这个资源,谢谢。 视频链接:...
标题中的"Gwt-Ext学习笔记之基础篇"指的是关于Gwt-Ext的初级教程,这是一种基于Google Web Toolkit (GWT) 的扩展库,用于构建富互联网应用程序(RIA)。Gwt-Ext提供了丰富的用户界面组件,使得开发者可以利用Java语言...
"前端学习笔记-黑马程序员JS" ...这篇前端学习笔记涵盖了 JavaScript 的基础知识,包括变量、数据类型、运算符、流程控制、数组、函数、对象、内置对象和 Web APIs 等知识点,为学习 JavaScript 提供了系统的指导。
这篇学习笔记主要涵盖了JavaScript的基础语法和客户端JavaScript的相关知识。 1. **JavaScript基本语法**: - **变量声明**:未声明的变量尝试读取时会产生错误,而写入未声明的变量会创建一个全局变量。 - **...
总的来说,李立超的JavaScript基础篇教程涵盖了语言的基础知识,包括其历史、特点、基本语法、数据类型、变量和标识符的使用,以及代码编写的位置和方式,是学习JavaScript入门的宝贵资料。通过深入理解和实践这些...
这篇基础学习笔记主要涵盖了JavaScript的一些核心概念,对于初学者来说是非常实用的引导资料。 1. 变量: 变量是JavaScript中存储数据的基础单元,它们可以用来保存各种类型的信息。变量需要先声明后使用,声明时...
本篇笔记主要基于阮一峰的博客,探讨了两种常见的JS模块规范:CommonJS和AMD,以及如何使用require.js进行模块管理。 1. **CommonJS**:这是Node.js服务器端编程广泛采用的模块化标准。在CommonJS中,`require()`...
本文是一篇关于Redis全套学习笔记的文章,主要介绍了Redis的基础知识、数据结构、持久化、集群、高可用、性能优化等方面的内容。通过本文的学习,读者可以全面掌握Redis的使用和应用,提高自己的技术水平和实践能力...
这篇"JavaScript入门新手学习笔记"提供了全面的学习资源,适合初学者系统性地掌握这一技术。 笔记可能包含了以下关键知识点: 1. **基础语法**:JS的基础包括变量(var、let、const)、数据类型(如字符串、数字、...
这篇学习笔记将带你探索JavaScript的核心概念,包括变量、数据类型、控制流、函数、对象和类等,这些都是构建复杂应用程序的基础。 首先,我们要了解JavaScript的基础语法。在JavaScript中,变量是存储数据的容器,...
JavaScript学习笔记主要涵盖...通过阅读和理解这篇"JavaScript学习笔记",你可以逐步提升JavaScript技能,从而更好地开发网页和应用程序。记得实践是检验真理的唯一标准,多写代码,多解决问题,才能真正掌握这门语言。
《蓝杰JavaScript学习笔记》是一份综合性的JavaScript学习资料,主要涵盖了JavaScript在网页动态操作、DOM操作以及事件处理等方面的基础知识。这篇笔记通过多个实例文件,如`dynamicCreateTable.htm`、`...
这篇学习笔记主要介绍了 Yui_ext 的基础知识,适合对 JavaScript 和 HTML DOM 有一定了解的初学者。 首先,了解 Ext 库的基本概念。Ext 提供了一个强大的框架,用于创建具有丰富用户体验的网页应用,其核心是 ...
这篇“JavaScript学习笔记之总结与回顾”涵盖了从基础到进阶的广泛内容,总计2.8万字,旨在为学习者提供一个全面的理解JavaScript的平台。 在学习JavaScript时,首先会接触的是基本的语法结构,包括常量、变量和...
在"Vue学习笔记之分享篇.zip"这个压缩包中,我们可以期待获取到关于Vue.js的学习资料,包括文档、安装程序以及可能的代码示例。 首先,`Vue.docx`可能是作者整理的Vue学习笔记,里面可能包含了Vue的基础概念、核心...
根据pink老师的课程做的学习笔记 学习JavaScript看这篇就够了
这篇学习笔记涵盖了JavaScript的基础知识,以及与前端开发相关的其他重要概念。 JavaScript是ECMAScript的一个实现,是一种解释型的、基于原型的、动态类型的编程语言。它的发展史与浏览器密切相关,从最初的...