JAVA相关课程系列笔记之八JAVASCRIPT学习笔记(建议用WPS打开)
- 格式:pdf
- 大小:741.74 KB
- 文档页数:38
课堂笔记第二天javascript 课程目标:1.javascript概述2.javascript的基本语法3.javascript常用对象4.javascript常用全局函数主要内容:1.javascript简介2.javascript的使用方式*3.javascript基本语法*4.javascript常用对象*5.javascript全局函数*一、javascript简介1. 什么是javascript?javascript简称js正式名称:ECMAScriptjs是一种弱类型的基于对象和事件驱动的脚本语言。
作用: 用于定义网页的行为2. javascript 和java的区别于联系a,js是弱类型语言,java是强类型的语言b,js不需要编译由浏览器解释执行,java需要编译然后由jvm解释执行c,js基于对象,java是OOd,二者在语法上非常相似3. javascript语言组成ECMAScript+BOM(Brower Object Model浏览器对象模型)+DOM(Document Object Model文档对象模型)=js二、javascript的使用方式1. 内部js脚本(直接把js写在html文档中)<script type="text/javascript">alert("hello world!");</script>2. 外部js文件(扩展名为js的文件)使用下面语法引入当前html文档中第一步建立外部的脚本文件扩展名为js第二步在网页中如下使用<script type="text/javascript" src="js文件名称.js">切记:这里不能再写脚本</script>三、javascript基本语法1. 标识符的命名规则a,标识符由字母、数字、下划线和$组成b,不能用数字开头c,大小写敏感d,不能使用保留字和关键字作为标识符名称2. 变量声明var name=”tom”; //js中的字符串用单引号或双引号包含3. 注释a.单行注释//b.多行注释/* */4. 运算符1)算术运算符+、- 、*、/、%、++、--2)赋值运算符= 、+=、-=、*=、%=3)比较运算符==(类似于java中String的equals)、===(类似于java中String的==)、!= 、> 、<、>=、<=4)逻辑运算符&&(与) 、||(或) 、!(非)5)+操作符6)三目(元)运算符条件表达式?代码1:代码2;7)typeof运算符:返回操作数的数据类型var s="tom"; //strings=34; //numbers=true; //booleans=''; //string//typeof返回被检测变量的数据类型alert(typeof(s)); //string5. 流程控制语句1)条件语句if语句语法:if (条件){条件成立时执行代码;}//true/*if('g'){alert("条件满足");}if(-12){alert("条件满足===");}if(new String()){alert("条件满足===");}*///falseif(0){alert("条件不满足===");}if(null){alert("条件不满足===");}if(""){alert("条件不满足===");}注意:至少有一个字符的字符串、非0数字或对象在进行布尔运算时将返回1即true。
1. javascript作用?JavaScript语言的前身叫作Livescript。
自从Sun公司推出著名的Java语言之后,Netscape 公司引进了Sun公司有关Java的程序概念,将自己原有的Livescript 重新进行设计,并改名为JavaScript。
JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言,有了JavaScript,可使网页变得生动。
使用它的目的是与HTML超文本标识语言、Java 脚本语言一起实现在一个网页中链接多个对象,与网络客户交互作用,从而可以开发客户端的应用程序。
它是通过嵌入或调入在标准的HTML语言中实现的。
JavaScript具有很多优点:1.简单性JavaScript是一种脚本编写语言,它采用小程序段的方式实现编程,像其它脚本语言一样,JavaScript同样已是一种解释性语言,它提供了一个简易的开发过程。
它的基本结构形式与C、C++、VB、Delphi十分类似。
但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。
它与HTML标识结合在一起,从而方便用户的使用操作。
2.动态性JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。
它对用户的反映响应,是采用以事件驱动的方式进行的。
所谓事件驱动,就是指在主页中执行了某种操作所产生的动作,就称为“事件”。
比如按下鼠标、移动窗口、选择菜单等都可以视为事件。
当事件发生后,可能会引起相应的事件响应。
3.跨平台性JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可以正确执行。
4.节省CGI的交互时间随着WWW的迅速发展有许WWW服务器提供的服务要与浏览者进行交流,确浏览的身份、需服务的内等等,这项工作通常由JSP编写相应的接口程序与用户进行交互来完成。
很显然,通过网络与用户的交互过程一方面增大了网络的通信量,另一方面影响了服务器的服务性能。
javascript笔记总结JavaScript 是一种广泛应用于网页开发的脚本语言,它可以为网页增加交互性和动态功能。
以下是一些 JavaScript 的笔记总结:1. 数据类型,JavaScript 包括基本数据类型(如数字、字符串、布尔值)和复杂数据类型(如对象、数组、函数)。
2. 变量和常量,使用 var、let 或 const 关键字声明变量和常量,变量可以被重新赋值,而常量则不能。
3. 控制流,JavaScript 支持条件语句(if-else)、循环语句(for、while)、以及跳出循环的关键字(break、continue)。
4. 函数,可以使用 function 关键字定义函数,函数可以接受参数并返回值。
5. 对象和数组,JavaScript 中的对象是键值对的集合,数组是有序的值的集合,它们都可以动态地增加、删除或修改其内容。
6. 事件处理,JavaScript 可以通过事件处理函数响应用户的交互行为,如点击、鼠标移动等。
7. DOM 操作,JavaScript 可以通过 Document Object Model (DOM)来操作网页的结构、样式和内容。
8. 异步编程,JavaScript 支持异步编程,可以通过回调函数、Promise 或 async/await 来处理异步操作。
9. 错误处理,JavaScript 提供了 try...catch...finally 结构来捕获和处理程序运行时的错误。
总的来说,JavaScript 是一种强大且灵活的脚本语言,能够为网页提供丰富的交互体验和动态功能。
希望这些笔记总结可以帮助您更好地理解 JavaScript 的基本概念和特性。
Javascript是弱类型语言;体现在在变量定义时无须指定类型,解释器会根据为变量所赋的值自动判断变量的类型,并且在其生命周期中,类型是可以改变的。
(弱类型并非没有类型,实际上JavaScript中有一套内置的变量类型,但只能通过解释器自动使用,而不能手工指定。
)JavaScript支持变量未经定义直接使用,但推荐进行变量的定义,否则变量的生命周期难以确定。
定义变量时可以使用“var”关键字。
(因为JavaScript代码总是在同一页面内有效,并不能跨网页运行,所以也不需要定义类似于Java语言中的访问修饰符(public,private等)。
JavaScript变量的命名规则于Java相似。
如果要将字符串转换为数字类型,可以使用parseInt和parseFloat方法,如果无法转换为数字,则JavaScript会返回特殊值“NaN(Not a number)”JavaScript的运算符与表达式基本与Java的相同。
“(x===y)表示同时比较之和类型”。
JavaScript语言中的自定义方法与Java有较大的不同,第一:JavaScript中没有方法修饰符,所有方法都是本页面内可以反问;第二:由于JavaScript是弱类型语言,所以不需要声明方法的返回值类型;第三:JavaScript中的方法不支持重载,但是支持类似于Java中变长参数的特性。
JavaScript中的数组除了能够存储数据类型外,只提供了一系列的属性与方法,因为JavaScript为弱类型,所以JavaScript中的数组也不会限制存放数据的类型。
如:Var a= new Array(); //a.length=0Var b=new Array(3); //b.length=3Var c=new Array(“tom”,”jerry”); //c.length=2Var d=new Array(“x”,3”y”); //d.length=3Var e=[]; //e.length=0Var f=[“tom”,”jerry”]; //f.length=2Var g=[3]; //g.length=1其中,concat,splice,shift,unshift常用于合并,修改数组。
javascript学习笔记ECMAScript 是javascript的规范规范起草了必须支持类型值对象属性和函数和程序语法和语意义对象具有松散和动态的命名属性(其实就是字典序列)对象的命名属性用于保存值,该值可以是指向另一个对象(Objects)的引用,也可以是一些基本的数据类型那么web浏览器就是ECMAScript 规范的实现(我们叫做宿主环境)p176/****************************************************************************/javascript的基础特性计算机程序是通过操作value 如123 hello来运行的程序语言把能够操作的值定义为数据类型数据类型有基本类型和复合类型(对象)对象是基本类型和复合类型的无序集合数组也是对象但是是有序集合javascript中定义了一个特殊的对象function 是可执行代码的对象注意:在别的程序语言中函数(java中叫方法)是语法的一部分但是在javascript中函数是个数据类型能够保存在变量中var name='cijun';function test(){alert(name);/* 你肯定会认为输出是 cijun 但是遗憾的告诉你是 undefinde当在函数体中定义某个变量一但定义不管的执行顺序这个变量始终在函数体中了其实这个是你可以把他看成 var name;*/var name='baobao';alert(name); //输出为baobao}test();</script>有效的检查参数的方法function chackArgs (args){//方法作用检查参数个数var fact=args.length;//实际传入的参数var expect=args.callee.length;//需要的参数个数if(fact!=expect){throw new Error("参数输入不符合规范");}/***案例*function test(x,y,z)*{*chackArgs(arguments);如果输入参数不符合直接抛出异常*return x+y+z;*}*/}让函数产生唯一的值(原理就是根据函数在执行前就可以使用)uniqueNumber.count=0;function uniqueNumber(){return uniqueNumber.count +1;}Javascritp中的类Javascript中的继承(类也有了那怎么完成继承呢)在论对象就是字典序列看下面的试验javascript中的异常处理机制Error对象就象java中的ThrowableJavascript的debugger调试器Firefox的javascript调试器https:///en-US/firefox/addon/216Dom节点查看器Web Developer for firefox https:///en-US/firefox/addon/60学习文档/DOM(Document Object Model)文档对象模型注意: 下面给出的对象属性事件方法集合等是该对象比较常用浏览器中window对象就是js的全局对象注意当你窗口对象打开了子窗口你又把主窗口关了但是你只要记住如果子窗口存在的对主窗口的引用虽然主窗口关闭了但是你仍然可以访问主窗口的数据其实他在内存中没销window对象常用的方法方法就是能够直接调用的函数window对象专用的事件关于事件就是对象在某种状态下就去会执行该对象的某个方法用狸猫换太子就可以触发你自己的函数在该事件上的行为了onload事件(注意该事件是转载完成页面的内容才执行的)onunload事件onbeforeunload事件浏览器在关闭前做的事情window对象属性引用的对象Window对象的2个重要属性(可以做购物车计价显示)方法属性document 对象的集合很重要Html元素的通用属性Id 给该元素在标记个唯一名称在该页面中Name 可以给js 访问在form中该属性是用来和服务器交换信息的ClassName 是给css 选择器访问的名称(可以配合js实现动态改变样式)InnerText 在html元素的标签对中嵌入文本格式(比如<div> innerText 的文本是嵌入在这里的如果出现了html标记那么抱歉标记也是以文本格式显示的</div>)InnerHtml 以html格式嵌入在标记对中OuterText 连同标记自己和标记中包含的内容返回如果设置就可以改变原来的标记OuterText 同上Offset 返回自己的边界坐标ClientTop 返回窗体编辑区和本对象之间顶点坐标的差Scrooll 是否显示滚动条方法属性事件方法事件方法属性方法集合属性总结下事件和html元素的对应onclick 点击元素时候触发大多数元素都支持该事件onmousedown 和onmouseup 和onclick区别在于不需要特定元素按下鼠标和释放鼠标就触发大多数元素都支持该事件onmouseover onmouseout 分别在鼠标移动或移出元素时候触发大多数元素都支持该事件<a>元素比较常使用onchange在用户改变了元素显示的值或者移出了元素的焦点时候触发<input><select><textarea>支持这个事件onsubmit onreset 表示提交个表单和重新设置表单的时候触发<form>使用注意:脚本执行顺序比如你要操作个form 但是你的脚步操作语句写在了这个form前面那么就会出现异常因为你操作的对象还没生成脚本的执行顺序和html文档的解释顺序是同时的Javascript技巧Css补充说明名词解释embed 插入354。
JavaScript是什么1、什么是JavaScript?●JavaScript是一种小型的、轻量级、面向对象的、跨平台的客户端语言●JavaScript是嵌入到浏览器软件当中的去的,有浏览器就可以执行JavaScript程序●JavaScript是一种面向对象的程序语言在程序中,对象是由“属性”和“方法”构成跨平台:JS程序可以在多种平台下运行,如:window、Linux、mac、IOS等 客户端脚本程序:JS只能在客户端的浏览器来运行浏览器是翻译器,可以翻译三种代码:HTML代码、CSS代码、JavaScript代码2、JavaScript能干什么?●表单验证:是JS最基本的功能●动态HTML:可以实现一些动态的,重复的效果●交互式:人机交互,通过键盘或鼠标,与网页中的元素进行交互。
3、JavaScript名称的由来●JavaScript最初交“LiveScript”,是网景公司(Netscape)公司开发,为自己的浏览器Navigator2.0开的客户端语言。
●借助java的名气很快成长起来,因此改名JavaScript●Java和JavaScript是两个公司的两个东西4、<script></script>标记●JS代码也是嵌入到HTML标记中去的。
●同一个网页中,可以有HTML代码、CSS代码、JavaScript代码。
●通过<scirpt></script>来引入JS程序的代码5、常用的两个客户端输出的方法●Document.write(String)描述:在网页中的<body>标记,输出String的内容。
Document意思“文档”,其实就是指整个网页。
Document是一个文档对象——代表整个网页。
Write()是document对象的一个输出方法。
在网页写一个东西“.”小数点,通过小数点(.)来调用对象的方法String:表示要输出的内容相当于字符串●Window.alert(String)描述:在当前窗口中弹出一个警告对话框,Str为对话框中显示的内容 window代表当前浏览器窗口,window是窗口对象alert()方法:弹出一个对话框。
<html> <body> <script type="text/javascript"> document.write("Hello World!"); </script> </body> </html> ======================== 如果需要把一段 JavaScript 插入 HTML 页面, 我们需要使用 <script> 标签 (同 时使用 type 属性来定义脚本语言)。
这样,<script type="text/javascript"> 和 </script> 就可以告诉浏览器 JavaScript 从何处开始,到何处结束。
document.write 字段是标准的 JavaScript 命令,用来向页面写入输出。
当页面载入时,会执行位于 body 部分的 JavaScript。
当被调用时,位于 head 部分的 JavaScript 才会被执行。
===================================================<html> <head> <script type="text/javascript"> function message() { alert("该提示框是通过 onload 事件调用的。
") } </script> </head> <body onload="message()"> </body> </html> ================================================ 位于 head 部分的脚本: 当脚本被调用时,或者当事件被触发时,脚本就会被执行。
<title>自动选择文本框/编辑框中的文字</title><script type="text/javascript">function Myselect_txt(){if (document.form1.title.focus){document.form1.title.select();}}function Myselect_txtarea(){if (document.form1.content.focus){document.form1.content.select();}}</script>A href中target属性的用法target这个属性指定所链接的页面在浏览器窗口中的打开方式,它的参数值主要有:_blank、_parent、_self、_top,这些参数值代表的含义如下:_blank,在新浏览器窗口中打开链接文件。
_parent,将链接的文件载入含有该链接框架的父框架集或父窗口中。
如果含有该链接的框架不是嵌套的,则在浏览器全屏窗口中载入链接的文件,就象_self参数一样。
_self,在同一框架或窗口中打开所链接的文档。
此参数为默认值,通常不用指定。
_top,在当前的整个浏览器窗口中打开所链接的文档,因而会删除所有框架。
二级菜单的显示:创建Ajax对象:Ajax用于做异步操作在IE游览器下可以适用:达到兼容性:事件驱动:(1)单击事件onClick(2)改变事件onChange(3)提交事件onSubmit(4)选中事件onSelect(5)获取焦点事件onFocus(6)失去焦点onBlur(7)载入文件onload(8)卸载文件onUnload(9)按下键盘按键onKeydown(10)按下字面键onKeyPress(11)释放键盘按键onKeyUp(12)鼠标滑过onMouseMove(13)鼠标移除onMouseOut(14)鼠标移入onMouseOver(15)鼠标释放onMouseUp(16)按下鼠标onMousedown(17)鼠标双击onDblClickJavaScript 的极大对象是:window history location document form 等;其中window窗口对象时最大的对象因此引用它的属性和方法时,可以不必加入对象名window 例如:window.alert(l);和alert(l);效果一样;属于window把一个文本文件中的字符串数字给读取出来:文本文件中存储的是一个字符串数组:{1,2,3,4,5,6,7,8}解决缓存的方法:绑定事件:绑定事件的兼容性解决:以上存在兼容性的问题:解决兼容性的问题如下:解决冒泡的方法:随鼠标移动的div效果:Client与scrollTop的配合使用防止出错:Ctrl+enter 提交留言:延时提示框:解决图片的兼容问题对于隐藏事件的写法但是id的直接使用会引起兼容性问题Display有两个值none 和block none表示不显示block表示显示网页的换肤效果;用于显示信息Console .dir();Console.log()(1)鼠标移动到图片上,图片上下移动效果var A_Img=new Image();function move(image,num){image.src='Images/top/menu_0'+num+'_over.gif';}//此处的num为1时就是Images/top/menu_01_over.gif'这张图片,它仍然是一张图片让新的一张图片赋给了点击时的图片function out(image,num){image.src='Images/top/menu_0'+num+'.gif';}</script><td width="94" align="center"><img src="Images/top/menu_05.gif" name="image5" width="95" height="119" border="0" onMouseMove="move(this,'5')" onMouseout="out(this,'5')"></td>(2)打开网页显示广告信息窗口属性的参数(3)定时打开窗口(4)通过按钮创建窗口(5)自动关闭的广告窗口(6)弹出窗口居中(7)地图图片热点地图链接类型的链接<map name="Map"><area shape="rect" coords="164,8,246,26" href="#" onClick="window.close();"> <area shape="rect" coords="76,8,158,26" href="#" onClick="mycheck(myform)"> </map>(8)弹出的窗口之Cookie控制<Script Language="JavaScript">function openWindow(){window.open("placard.htm","","width=352,height=193")}function GetCookie(name){var search = name + "=";var returnvalue = "";var offset,end;if(document.cookie.length>0){offset = document.cookie.indexOf(search);if(offset != -1){offset += search.length;end = document.cookie.indexOf(";",offset);if(end == -1) end = document.cookie.length;returnvalue = unescape(document.cookie.substring(offset,end));}}return returnvalue;}function LoadPop(){if(GetCookie("pop")==""){openWindow();var today = new Date()var time="Sunday,1-jan-"+today.getYear()+1+" 23:59:59 GMC";document.cookie="pop=yes;expires="+time;}}</Script>(9)关闭弹出窗口时刷新父窗口点击一个按钮显示一个新的子网页<a href="#"onClick="Javascript:window.open('new.htm','','width=400,height=220')">会议记录</a>在子网页中用于关闭的按钮<input type="submit" name="Submit" value="关闭" onclick="Mycheck();"> <script language="javascript">function Mycheck(){alert("关闭子窗口!");window.opener.location.reload(); //刷新父窗口中的网页window.close();//关闭当前窗窗口}</script>(10)(11)全屏显示代码:弹窗显示代码:<script language="javascript">function opendialog(){varsomeValue=window.showModalDialog("new.htm","","dialogWidth=640px;dialogHeight=423px;s tatus=no;help=no;scrollbars=no")}</script>网页拾色器代码:<script language="javascript">function colorpick(field){var rtn = window.showModalDialog("color.htm","","dialogWidth:225px;dialogHeight:170px;status:no;help:no;scrolling=no;scrollbars=no");if(rtn!=null)field.style.background=rtn;return;}</script><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>网页拾色器</title></head><body><script language="JavaScript"><!--var h = new Array(6)h[0] = "FF";h[1] = "CC";h[2] = "99";h[3] = "66";h[4] = "33";h[5] = "00";function action(RGB) {//alert('您选择的颜色是:#'+RGB);parent.window.returnValue="#"+RGB;window.close();}function Mcell(R, G, B) {document.write('<td bgcolor="#' + R + G + B + '">');document.write('<a href="#" onClick="action(\'' + (R + G + B) + '\')">');document.write('<img border=0 height=12 width=12 \')" alt=\'#'+R+G+B+'\'>');document.write('</a>');document.write('</td>');}function Mtr(R, B) {document.write('<tr>');for (var i = 0; i < 6; ++i) {Mcell(R, h[i], B);}document.write('</tr>')}function Mtable(B) {document.write('<table cellpadding=0 cellspacing=0 border=0>');for (var i = 0; i < 6; ++i) {Mtr(h[i], B);}document.write('</table>');}function Mcube() {document.write('<table cellpadding=0 cellspacing=0 border=0><tr>'); // for (var i = 0; i < 6; ++i) {if(i%3==0){document.write('<tr>');}document.write('<td bgcolor="#FFFFFF">');Mtable(h[i])document.write('</td>');}if(i%3==0){document.write('</tr>');}document.write('</tr></table>');}Mcube()--></script></body>网页可见区域宽:document.body.clientWidth;网页可见区域高:document.body.clientHeight;网页可见区域宽:document.body.offsetWidth (包括边线的宽); 网页可见区域高:document.body.offsetHeight (包括边线的宽); 网页正文全文宽:document.body.scrollWidth;网页正文全文高:document.body.scrollHeight;网页被卷去的高:document.body.scrollTop;网页被卷去的左:document.body.scrollLeft;网页正文部分上:window.screenTop;网页正文部分左:window.screenLeft;屏幕分辨率的高:window.screen.height;屏幕分辨率的宽:window.screen.width;屏幕可用工作区高度:window.screen.availHeight; 屏幕可用工作区宽度:window.screen.availWidth;setInterval(function(),30)设置定时器;offsetInterval清除定时器Offsetleft当前的距离左边位置。
js笔记总结好的,以下是一份JavaScript的笔记总结:1. 基础语法:变量:使用`var`、`let`或`const`声明变量。
数据类型:JavaScript有7种数据类型,包括`Number`、`String`、`Boolean`、`Object`、`Null`、`Undefined`和Symbol。
函数:使用`function`关键字定义函数。
控制结构:如`if`、`for`、`while`等。
2. 面向对象编程:构造函数:使用构造函数创建对象。
原型链:JavaScript使用原型链实现继承。
原型和实例:每个JavaScript对象都有一个指向其原型的内部链接。
3. 数组和对象:数组:JavaScript中的数组是一种特殊的对象,用于表示和操作有序的数据。
对象:对象是一种复杂的数据类型,用于存储多个值作为键值对。
4. 事件处理:事件监听器:用于监听和响应用户与网页的交互。
5. 函数式编程:高阶函数:接受函数作为参数或返回函数的函数。
闭包:当一个函数在其词法作用域外部被引用时,就会形成一个闭包。
6. 异步编程:Promise:用于处理可能不立即完成的操作。
async/await:使异步代码看起来像同步代码。
7. 错误处理:try/catch/finally:用于捕获和处理运行时错误。
8. DOM操作:获取元素:使用`()`、`()`等。
修改元素:改变元素的内容、样式等。
9. 浏览器兼容性:使用工具如Babel将ES6+代码转换为ES5代码,以确保在所有浏览器中都能运行。
10. 性能优化:使用工具如Chrome DevTools进行性能分析,优化代码。
11. 模块化:使用模块化编程来组织和管理代码,例如使用ES6模块或CommonJS模块。
12. 工具和库:使用工具如webpack、Gulp等构建工具和库如React、Vue等前端框架,简化开发过程。
13. 测试和调试:使用工具如Jest、Mocha等进行单元测试和集成测试,使用console和debugger进行调试。
Javascript高级编程为什么要学习javascript?无论打算学习Java、PHP、.NET,只要是从事B/S开发,javascript都是必需的。
所有程序员,很少专门做javascript,某种程度上,它有点难登大雅之堂,但它又是必需的。
Java与Javascript的关系?没有关系。
变量定义、流程控制、运算符——不讲了。
Javascript函数:Javascript并不是面向对象的,javascript的函数有点像java的方法。
但并不一样。
在Java里,类是一等公民,类就是可以独立存在的程序单元。
在Javascript里,函数是一等公民,函数就是可以独立存在的程序单元。
函数永远是独立存在的。
即使你把它定义在一个类中,它也是独立存在的。
******************************************************* 定义函数的方法:第一种:function add(p1,p2){//函数执行体return p1+p2;}第二种:用function定义匿名函数。
——这个语法十分常用。
function (p1,p2){//函数执行体return p1+p2;}第三种:可以直接用Function的构造器来创建函数。
new Function(p1,p2,p3.....pN)前面的p1,p2,p3.....pN-1这些形参将会作为新创建函数的形参列表。
而pN就是该函数的函数执行体。
这样的语法的繁琐之处在于:设置函数执行体时,程序代码很难传入。
================================================= 调用函数的方式:第一种:调用者.函数名(参数列表);//调用者可以省略第二种:函数引用.call(调用者,参数列表)第三种:函数引用.apply(调用者,arguments)// call与apply的本质是一样的,只不过apply可以通过arguments来访问当前函数的参数。
JavaScript学习笔记Java相关课程系列笔记之八笔记内容说明JavaScript(王春梅老师主讲,占笔记内容100%);目录一、JavaScript概述 (1)1.1什么是JavaScript (1)1.2JavaScript发展史 (1)1.3JavaScript的特点 (1)1.4JavaScript的定义方式 (1)1.5JavaScript的代码错误查看 (2)1.6注释 (2)二、JavaScript基础语法 (3)2.1编写JavaScript代码 (3)2.2常量、标识符和关键字 (3)2.3变量 (3)2.4数据类型 (3)2.5string数据类型 (3)2.6number数据类型 (3)2.7boolean数据类型 (3)2.8数据类型的隐式转换 (4)2.9数据类型转换函数 (4)2.10特殊类型 (5)2.11算术运算 (5)2.12关系运算 (5)2.13逻辑运算 (5)2.14条件运算符 (5)2.15流程控制语句 (6)三、JavaScript常用内置对象 (7)3.1什么是JavaScript对象 (7)3.2使用对象 (7)3.3常用内置对象 (7)3.4String对象 (7)3.5String对象与正则表达式 (8)3.6Array对象 (9)3.7Math对象 (10)3.8Number对象 (11)3.9RegExp正则表达式对象 (11)3.10Date对象 (12)3.11函数与Function对象 (12)3.12全局函数 (13)3.13Arguments对象 (14)四、window对象 (16)4.1DHTML简介 (16)4.2DHTML对象模型 (16)4.3window对象 (16)4.4常用方法:对话框 (16)4.5常用方法:窗口的打开和关闭 (17)4.6常用方法:周期性定时器 (17)4.7常用方法:一次性定时器 (17)4.8案例:动态时钟 (17)五、Document对象与DOM (19)5.1概念 (19)5.2根据元素ID查找节点 (19)5.3根据层次查找节点 (19)5.4根据标签名称查找节点 (20)5.5读取或者修改节点信息 (20)5.6修改节点的样式 (20)5.7查找并修改节点 (20)5.8三个案例 (21)5.9增加新节点 (23)5.10删除节点 (23)5.11案例:联动菜单 (23)六、HTML DOM (25)6.1HTML DOM概述 (25)6.2Select对象 (25)6.3Option对象 (25)6.4案例:联动菜单(HTML DOM方式) (25)6.5Table对象 (26)6.6TableRow对象 (26)6.7TableCell对象 (26)6.8案例:产品列表 (26)七、window其他子对象(DHTML模型) (28)7.1screen对象 (28)7.2history对象 (28)7.3location对象 (28)7.4navigator对象 (28)7.5事件 (28)7.6event对象 (29)八、面向对象基础 (31)8.1属性 (31)8.2方法 (31)8.3定义对象的三种方式 (31)8.4创建通用对象 (31)8.5创建对象的模版 (31)九、JSON (32)9.1JSON概述 (32)9.2名称可以是属性 (32)9.3名称也可以是方法 (32)9.4案例:批量提交数据和下拉框版式日历 (32)一、JavaScript概述1.1什么是JavaScript1)JavaScript是一种网页编程技术,用来向HTML页面添加动态交互效果。
2)JavaScript是一种基于对象和事件驱动的解释性脚本语言,具有与Java和C语言类似的语法。
3)JavaScript可直接嵌入HTML页面。
由浏览器解释执行代码,不进行预编译。
◆注意事项:alter修改,alert警告。
onclick="alert('hello world');"字符串用单引号或双引号隔开,此处用单引号,因为会和前面的双引号成对。
1.5JavaScript的代码错误查看1)解释性代码,若代码错误,则页面无任何效果。
2)IE浏览器:使用开发工具。
3)Firefox浏览器:使用错误控制台查看。
1.6注释单行注释用“//”,多行注释用:/**/二、JavaScript基础语法2.1编写JavaScript代码1)由Unicode字符集编写。
2)语句:表达式、关键字、运算符组成;大小写敏感;使用分号结束。
2.2常量、标识符和关键字1)常量:直接在程序中出现的数据值(字面量),用完就丢弃了。
如alert("hello");2.6number数据类型1)不区分整型数值和浮点型数值:所有数字都采用64位浮点格式存储,类似于double 格式。
2)整数:16进制数前面加上0x,8进制前面加0。
3)浮点数:使用小数点记录数据,如3.4,5.6;使用指数记录数据,如4.3e23=4.3X10^23 2.7boolean数据类型1)仅有两个值:true和false;实际运算中true=1,false=02)多用于结构控制语句。
2.8数据类型的隐式转换1)JavaScript属于松散类型的程序语言①变量在声明时不需要指定数据类型。
②变量由赋值操作确定数据类型。
2)不同类型数据在计算过程中会自动进行转换①数字+字符串:数字转换为字符串②数字+布尔值:true转换为1,false转换为0③字符串+布尔值:布尔值转换为字符串true或false2.10特殊类型1)null:null在程序中代表“无值”或者“无对象”。
可以通过给一个变量赋值null来清除变量的内容。
2)undefined:声明了变量但从未赋值或这对象属性不存在。
1)加(+)减(-)乘(*)除(/)余数(%)2)语法:boolean表达式?表达式1:表达式2①先计算boolean表达式的值,如果为true,则整个表达式的值为表达式1的值。
②如果为false,则整个表达式的值为表达式2的值。
2.15流程控制语句程序默认情况下顺序执行,改变或者控制执行顺序。
1)if语句:①if(表达式){语句块1}else{语句块2}②if(表达式1){语句块1}else if(表达式2){语句块2}else{语句块3}2)switch-case语句:switch(表达式){case值1:语句1;break;case值2:语句2;break;三、JavaScript常用内置对象3.1什么是JavaScript对象1)JavaScript是一种基于对象的语言,对象是JavaScript中最重要的元素。
2)JavaScript包含多种对象:内置对象、自定义对象、浏览器对象、HTML DOM对象、ActiveX对象③查询指定字符串:indexOf(findstr,index):从前往后,从位置index开始查找指定的字符串findstr,并返回出现的首字符的位置。
lastIndexOf(findstr):从后往前,查找指定的字符串findstr,并返回出现的首字符的位置。
④获取子字符串:substring(start,end):从start开始,到end结束,不包含end。
⑤替换子字符串:replace(oldstr,newstr):返回替换后的字符串。
⑥拆分子字符串:split(bystr):用bystr分割字符串,并返回分割后的字符串数组。
3.6Array对象一列有多个数据。
JavaScript中只有数组没有集合。
1)创建方式方式一:var arr=["mary",10,true];//用中括号!不是大括号;常用;声明的同时并赋值。
方式二:var arr=new Array("mary",10,true);//声明的同时并赋值。
方式三:var arr=new Array();或var arr=new Array(7);//可有长度也可没有长度。
即3.7Math对象用于执行相关的数学计算。
1)没有构造函数Math()。
2)不需要创建,直接把Math作为对象使用就可以调用其所有属性和方法。
如:不需要创建var data=Math.PI;直接使用Math.PI;像Java中的静态类一样。
3)常用属性:都是数学常数,如:Math.E(自然数)、Math.PI(圆周率)、Math.LN2(ln2)、Math.LN10(ln10)等4)常用方法:①三角函数:Math.sin(x)、Math.cos(x)、Math.tan(x)等②反三角函数:Math.asin(x)、Math.acos(x)等③计算函数:Math.sqrt(x)、Math.log(x)、Math.exp(x)等④数值比较函数:Math.abs(x)、Math.max(x,y,...)、Math.random()、Math.round(x)等1)创建正则表达式对象方式一:var reg1=/^\d{3,6}$/;方式二:var reg2=new RegExp("^\d{3,6}$");2)JavaScript中,正则表达式的应用分为两类:一类:和String对象的三个方法结合使用,实现对string的操作,如:replace/match/search二类:调用正则表达式对象的常用test方法测试,RegExpObject.test(string):如果字符串string中含有与RegExpObject匹配的文本,则返回true,否则返回false 3)案例1)函数的概述:函数(方法)是一组可以随时随地运行的语句。
Function对象可以表示开发者定义的任何函数。
函数实际上是功能完整的对象。
2)函数的定义:function函数名(参数){函数体;return;}◆注意事项:由关键字function定义。
函数名的定义规则与标识符一致,大小写敏感。
可以使用变量、常量或表达式作为函数调用的参数。
返回值必须使用return。
3)函数的调用:函数可以通过其名字加上括号中的参数进行调用。
如果有多个参数,则参数之间用逗号隔开。
如果函数有返回值,则可以声明变量等于函数的结果即可。
比如:方式一:使用function关键字明文的声明一个方法(最常用,用于功能相关的方法)方式二:使用Function对象创建函数,语法:var functionName=new Function(arg1,...argN,functionBody);最后一个参数是方法体,前面的其它参数是方法的参数。