1 一、javascript简介<br /> 2 1、JavaScript是脚本语言,需要有宿主文件,它的宿主文件是html文件<br /> 3 2、JavaScript与Java并没有关系,并不属于一家公司<br /> 4 3、JavaScript的用法<br /> 5 位置(1)head里面(2)body里面(3)/html里面 一般是写在/html里面<br /> 6 <!--<script language="javascript"> 脚本内容 </script> --> <br /> 7 4、三个常用的对话框<br /> 8 alert警告对话框,弹出警告内容<br /> 9 confirm确定对话框,作用是弹出一个可供选择的对话框,点击确定它返回true,点击取消返回false<br /> 10 prompt(“要显示提示的文字”),作用是弹出一个可以输入内容对话框<br /> 11 二、JavaScript语法<br /> 12 1、基本数据类型<br /> 13 字符串,小数,整数,日期时间,布尔类型等<br /> 14 2、都是通用类型var,可以随意储存其他类型的值,也可以直接使用,不用定义,但习惯上是定义<br /> 15 3、类型转换:<br /> 16 一般分为自动转换和强制转换,一般是强制转换<br /> 17 其他类型转换为整数类型:parseInt()<br /> 18 其他类型转换为小数类型:parseFloat()<br /> 19 判断是不是不是一个数字:isNaN() 如果返回值是false证明数字,如果返回值是true证明不是数字<br /> 20 4、运算符:<br /> 21 数学运算符:+ - * / % ++ --;<br /> 22 关系运算符:== != > >= < <=;<br /> 23 逻辑运算符:&& || !;<br /> 24 其它运算符:+= -= *= /= %= ?:<br /> 25 5、语句:<br /> 26 顺序,分支,循环语句<br /> 27 分支语句:if(){}else{}<br /> 28 循环语句:for(初始条件 循环条件 状态改变){循环体}<br /> 29 问题类型:穷举 迭代<br /> 30 用break continue跳出<br /> 31 如果要输出某一个参数的值,输出的值是“+a+”和“+b<br /> 32 6、数组<br /> 33 数组的定义:new Array() ,它的长度是不断变换的,里面可以存放很多类型的数据<br /> 34 数组元素的赋值:a[0]=123, a[1]="123"<br /> 35 数组元素的取值:a[i]<br /> 36 数组属性:a.length数组元素的长度个数<br /> 37 方法:a.sort()排序数组,按照第一个字符排序a.reverse()翻转数组<br /> 38 7、函数:<br /> 39 函数四要素:名称,输入,返回值,加工<br /> 40 定义函数:function add(形参) { 函数体 },函数名为add,输入为参数的形式,返回值可以是var类型也可以return个值;<br /> 41 函数不调用是不会执行的,函数的调用:add(实参)<br /> 42 三、JavaScript的dom操作<br /> 43 1、dom的基本概念,dom是文档对象模型,这种模型为树模型<br /> 44 文档是指标签文档 对象是指标签里的每个元素 模型是指抽象化的东西<br /> 45 2、windows操作对象<br /> 46 (1)属性(值或子对象)<br /> 47 openner:打开当前窗口的源窗口,如果当前窗口是首次启动浏览器打开的,则openner是null<br /> 48 dialogArgument:对话框返回值<br /> 49 子对象:hisitory,location,document,status,toolbar等<br /> 50 方法(函数):事件(事先设置好的程序,被触发)<br /> 51 (2)window.open("第一部分","第二部分","第三部分","第四部分",)<br /> 52 第一部分:-blank打开方式,在新窗口还是自身窗口<br /> 53 第二部分:控制窗口打开的格式,可以写多个,用空格隔开<br /> 54 toolbar=no新打开的窗口无工具条<br /> 55 mennubar=no无菜单栏<br /> 56 stantus=no无状态栏<br /> 57 windth height宽高<br /> 58 left等设置位置<br /> 59 resizable=no窗口大小不可调<br /> 60 scorllbars=yes出现滚动条<br /> 61 location=yes 有地址栏<br /> 62 window.open也有返回值,它的返回值是:新打开的窗口对象。<br /> 63 (3)window.close():关闭当前窗口<br /> 64 w.close():关闭保存在变量w中的那个窗口<br /> 65 关闭多个子窗口,先将打开的窗口存入数组内,利用循环卓哥关闭<br /> 66 关闭打开当前窗口的源窗口:window.openner.close()<br /> 67 (4)间隔与延迟<br /> 68 间隔执行一段代码的函数:window.setInterval(“要执行的代码”,间隔的毫秒数)<br /> 69 清除间隔执行:window.clearinterval(间隔的id);循环一次后用来清除间隔执行的代码<br /> 70 延迟一段时间执行某一个代码:window.settTimeout(“要执行代码”,延迟毫秒数)<br /> 71 清除延迟:window.clearTimeout(延迟的id);清除setTimeout<br /> 72 (5)调整页面<br /> 73 window.navigate("url")跳转至目标页面,在谷歌浏览器下有bug<br /> 74 window.moveTo(x,y)移动页面至某一位置,位置由x,y决定<br /> 75 window.resizeTo[宽,高]调整页面的宽度和高度<br /> 76 window.scrollTo()滚动页面至哪里,y代表纵向滚动<br /> 77 (6)模拟对话框和非模态对话框 78 模态对话框(Modal Dialogue Box),是指用户想要对对话框以外的应用程序进行操作,必须首先对该对话框进行响应。如果单击确定或取消按钮等<br /> 79 将该对话框关闭,它和非模态对话框永远置顶的他们的区别在于当对话框打开是,是否允许用户进行其他对象的操作<br /> 80 打开模态对话框:window.showModaiaLog("url",“向目标对话框传的值”,“窗口特征参数”)<br /> 81 特征参数:用分号分开,像像素用px,dialogHeight,diaLogWidth,center,等<br /> 82 var a=window.dialogArgument用一个参数来获取模态或非模态对话框传递的值<br /> 83 3、windows.history对象<br /> 84 window.history.back();页面进行后退<br /> 85 window.history.forward();页面前进<br /> 86 window.history.go(n);n如果是正数代表前进n个网页,n如果是负数,则代表后退n个页面<br /> 87 4、windows.location对象<br /> 88 location地址栏<br /> 89 var s=window.location.href:获取当前页面的地址<br /> 90 window.location.href="";修改网页地址,跳转到所设立页面<br /> 91 window.location.hostname:主机名,域名,网站名,可用变量接收<br /> 92 window.location.pathname:路径名,可用变量接收<br /> 93 5、window.status对象<br /> 94 status状态栏,可以给状态栏天骄要显示的文字<br /> 95 window.status=“要在状态栏显示的内容”;设置状态栏的文字<br /> 96 6、windows.document对象<br /> 97 (1)找到元素<br /> 98 document.getElemetById("id");根据id最多找到一个<br /> 99 var a=document.getElemetById("id");将找到的元素放在变量中<br /> 100 (2)操作内容<br /> 101 非表单元素<br /> 102 1)获取内容<br /> 103 innerHTML标签里的html代码和文字都获取<br /> 104 innerText只有取的里面的文字<br /> 105 outHTML包括标签本身的内容<br /> 106 2)设置内容<br /> 107 a.innerHTML="";<br /> 108 表单元素<br /> 109 1)获取内容,有两种获取方式<br /> 110 var t=document.f1.t1; form表单id为f1里面的id为t1的input<br /> 111 var t=document.getElementById()直接用id获取<br /> 112 t.value表示获取里面的值<br /> 113 2)设置内容:t.value="内容改变"<br /> 114 小知识点<br /> 115 a herf="www.baidu.com" onclick="return false"加了return flase则不会跳转,默认是return true 按钮也是同样的道理<br /> 116 (3)操作属性<br /> 117 a.setAttribute("属性名","属性值"),设置一个属性,添加或者更改都可以<br /> 118 a.getAttribute("属性名");获得属性的值<br /> 119 a.removeAttribute("属性名");移除属性<br /> 120 (4)操作样式<br /> 121 首先利用元素的ID找到该元素,存在一个变量中<br /> 122 var a=document.getElementById("id");<br /> 123 然后可以对该元素进行操作<br /> 124 a.style="" 样式改变<br /> 125 document.body.style.backgroundColor="颜色";整个窗口的背景色<br /> 126 (5)相关元素操作<br /> 127 var a=documnet.gerElementById("id");找到a<br /> 128 var b=a.nextSibling;找到a的下一个同辈元素,注意包含空格<br /> 129 var b=a.previousSibling;找到a的上一个同辈元素,注意包含空格<br /> 130 var b=a.parentNode找到a的上一级父元素<br /> 131 var b=a.childNodes,找出a的下一级元素,找出来的是数组<br /> 132 var b=a.fistchild 第一个元素 lastchild最后一个 chidNode[n]找到第几个子元素<br /> 133 alert(nodes[i]instanceof Text);判断是不是文本,是返回true,不是返回false,用if判断它的值可以去除空格<br /> 134 (6)元素的创建,添加,删除<br /> 135 var a=document.gerElementById("id");找到a<br /> 136 var a=document.createElemet("标签名"):创建一个元素obj.innerHTML=""添加的时候首先要创建一个元素<br /> 137 a.apppendChild();向a中添加一个子元素<br /> 138 a.removeChild()删除一个子元素<br /> 139 列表中a.selectIndex;选中是第几个;<br /> 140 a.options[a.selectIndex]按下取出第几个option对象<br /> 141 (7)字符串的操作<br /> 142 var s=new String()或var s="aaa"<br /> 143 alert(s.toLowerCase())转小写toUpperCase()转大写<br /> 144 alert(s.substring(3,8))从第三个字符截取到第八个位置<br /> 145 alert(s.substr(3,8))从第三个位置开始截取,截取八个字符长度,不写后面的数字是截取到最后<br /> 146 s.split('')将字符按照指定的字符拆开<br /> 147 s.length是属性<br /> 148 s.indexOf("")字符在字符串第一次出现的位置<br /> 149 s.lastIndexof("")字符在字符串最后一次出现的位置<br /> 150 (8)日期时间的操作<br /> 151 var d=new Date();当前时间<br /> 152 var d=new Date(1999,3,2);定义一个时间,1999年4月2日,月份要加1<br /> 153 a.getFullYear();取年份 d.getMoth();取月份,取出来少1:;d.getDate()取天 d.getDay()取的是星期几<br /> 154 a.getHours()取小时; d.getMinutes()取分钟; d.getSecibds()取秒<br /> 155 a.setFullYear():设置年份设置月份的时候记得加1<br /> 156 (9) 数学函数操作<br /> 157 Math.ceil();大于当前小数的最小整数 158 Math.floor();小鱼当前小数的最大整数 159 Math.sqrt();开平方 160 Math.round();四舍五入 161 Math.random();随机数,0-1之间<br /> 162 (10)小知识点 163 外面双引号,里面的双引号改为单引号; 164 在div里面行高设置和整个外面高度一样,才能用竖直居中,居中是行居中。 165 文本框取出来的值是字符串,需要用parseint()转化为数字 166 s.match(reg); s代表一个字符串,reg代表一个字符串,两者进行匹配,如果两个字符串不匹配,返回一个null。