HTMLcss和JavaScript的基础学习—JavaScript篇JavaScript是做什么的JavaScript一种直译式脚本语言是一种动态类型、弱类型、基于原型的语言内置支持类型。它的解释器被称为JavaScript引擎为浏览器的一部分广泛用于客户端的脚本语言最早是在HTML网页上使用用来给HTML网页增加动态功能关于弱类型强类型和弱类型主要是站在变量类型处理的角度进行分类的。强类型是指不允许隐式变量类型转换弱类型则允许隐式类型转换。1.使用方式HTML 的 script标签用于把 JavaScript代码 插入 HTML 中script标签可以出现在html的head或body位置一般常放在head中也可以引入外部的js文件 script src“myScript.js”/script2.变量及数据类型变量js是弱类型语言所以在定义变量时不需要指定类型直接用var关键字定义即可。 var a字符串数字布尔数组object对象日期对象特殊类型。数字类型不区分整数类型和浮点类型特殊类型包括NaNundefinednull3.Math对象Math 对象用于执行数学任务。Math 对象并不像 Date 和 String 那样是对象的类因此没有构造函数 Math()。Math对象属性E 返回算术常量 e即自然对数的底数约等于2.718。LN2 返回 2 的自然对数约等于0.693。LN10 返回 10 的自然对数约等于2.302。LOG2E 返回以 2 为底的 e 的对数约等于 1.414。LOG10E 返回以 10 为底的 e 的对数约等于0.434。PI 返回圆周率约等于3.14159。SQRT1_2 返回 2 的平方根的倒数约等于 0.707。SQRT2 返回 2 的平方根约等于 1.414。Math对象方法abs(x) 返回 x 的绝对值。acos(x) 返回 x 的反余弦值。asin(x) 返回 x 的反正弦值。atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。atan2(y,x) 返回从 x 轴到点 (x,y) 的角度介于 -PI/2 与 PI/2 弧度之间。ceil(x) 对数进行上舍入。cos(x) 返回数的余弦。exp(x) 返回 Ex 的指数。floor(x) 对 x 进行下舍入。log(x) 返回数的自然对数底为e。max(x,y,z,…,n) 返回 x,y,z,…,n 中的最高值。min(x,y,z,…,n) 返回 x,y,z,…,n中的最低值。pow(x,y) 返回 x 的 y 次幂。random() 返回 0 ~ 1 之间的随机数。round(x) 把数四舍五入为最接近的整数。sin(x) 返回数的正弦。sqrt(x) 返回数的平方根。tan(x) 返回角的正切。4.运算符算术运算符 - * / % --比较运算符 ! !逻辑运算符 || !赋值运算符 - * / % 字符串连接运算符 三元运算符? :5.流程控制条件语句if(条件判断){要执行的代码块}if(){} else if(){} else{}if(){} else{}switch…case语句循环语句for语句while语句do…while语句break和continuebreak语句是中断语句用于终止循环语句或开关语句。continue语句是连续语句用于重新开始while、do while和for语句。6.函数正常函数function 方法名(参数1,参数2){ ... return ... }匿名函数var fn function(a,b){ //定义匿名函数并赋值给一个变量 alert(a -- b) } fn(18,yml)7.事件重要HTML 4.0 的新特性之一是有能力使 HTML 事件触发浏览器中的动作action比如当用户点击某个 HTML 元素时启动一段 JavaScript。使用事件注册定义函数myClick , 并在标签的事件中调用方法οnclick“myClick()”可用事件onclick 鼠标点击时触发ondblclick 鼠标双击时触发onfocus 元素获得焦点时触发onblur 元素失去焦点时触发onchange 用户改变域的内容onmouseover 鼠标被移动到某个元素上触发一次onmousemove 鼠标在元素内部移动时不断触发onmouseout 鼠标从元素移开onkeydown 键盘某个键被按下onkeypress 键盘的键被按下或按住onkeyup 键盘的键被松开onload 用于body标签页面加载完毕时触发一次事件冒泡一个标签触发事件后事件会向上传递给自己的父标签然后父标签的父标签…e.stopPropagation() //阻断事件向上传递e.代表当前标签对象技巧为超链接注册事件function myClick() { console.log(go go go) } a hrefjavascript:void(0) onclickmyClick()go/aform表单form表单提交前如果需要处理其他逻辑先将提交按钮改为普通按钮然后在按钮事件中手动提交表单。即可实现灵活的表单控制在需要提交的时候再提交 document.forms[0].submit();//手动获取form并提交this关键字传入当前标签对象function myClick(a) // athis当前触发事件的元素 { console.log(a) } input typebutton name value提交 onclickmyClick(this)另外的事件注册方式var btn document.getElementById(btn) //获得标签 btn.onclick function() //注册事件 { console.log(注册成功) }onloadload事件的handler整个的页面加载完毕后执行body onloadonload9(); !--注册onload事件--function onload9(){ }8.DOM对象HTML DOM 文档对象模型当网页被加载时浏览器会创建页面的文档对象模型Document Object Model。通过 HTML DOM可访问 JavaScript HTML 文档的所有元素。查找HTML元素通过 id 找到 HTML 元素 document.getElementById()通过标签名找到 HTML 元素 document.getElementsByTagName()通过类名找到 HTML 元素 document.getElementsByClassName()通过name属性值找到 HTML 元素 document.getElementsByName()children 获得所有子标签parentNode 获得父标签previousElementSibling 获得上一个兄弟标签nextElementSibling 获得下一个兄弟标签修改HTML修改标签内容修改标签基本属性修改样式属性基本格式都是element.XXX xxxelement本元素删除和新增标签删除标签removeChild(child) 删除指定的子标签remove() 删除自身新增标签document.createElement(标签名) 创建新标签document.createTextNode(内容) 创建标签内容ele.appendChild(标签) 追加子标签ele.insertBefore(标签) 插入指定标签到ele标签中9.BOM对象BOM 是 Browser Object Model浏览器对象模型。BOM提供了独立于内容 而与浏览器窗口进行交互的对象由于BOM主要用于管理窗口与窗口之间的通讯因此其核心对象是windowBOM由一系列相关的对象构成并且每个对象都提供了很多方法与属性window对象window.alert(“警告”) 警告框window.confirm(“xxx”) 确认框根据用户的选择返回bool值history对象window.history.forward() 在浏览历史里前进一步window.history.back() 在浏览历史里后退一步screen对象window.screen.width 屏幕宽度window.screen.height 屏幕高度navigator对象window.navigator.appVersion 浏览器版本location对象window.location.href 载入页面–当前载入页面的完整URdocument对象document.getElement…(…) 选择标签document.forms[0] 选择文档中的formdocument.write(“hello”) 向文档中写入内容会覆盖所有之前的10.补充计时器var id1 setInterval(function(){...},1000) ;每1000毫秒执行一次function返回事件的idvar id2 setTimeout(function(){...},1000);1000毫秒后仅执行一次function返回事件的idclearTimeout(id2); 移除事件clearInterval(id1); 移除事件以上只是对JavaScript的基础进行了一些简单总结不足之处望指出。