JS手册

一、序言:

  1. 在开始之前我们先谈谈什么叫做大前端吧。所谓“大前端”,顾名思义应该是比“小前端”承担更多职责。传统上,Web应用可分为前端(在浏览器中执行的部分)和后端(在服务器中执行的部分)。前端工程师的职责是以Web技术(HTML、CSS、JavaScript、DOM、Ajax等)实现基于浏览器的用户界面。以相衔接的工作来说,是将视觉设计师、交互设计师的工作成果转化为可运行代码,完成的代码则要交付给后端工程师,进一步完成代码集成、测试、发布和部署。这样一种体系可能存在不少问题,具体就不展开了。“大前端”则是将传统上归于后端的服务器脚本和模板划归到前端。
  2. 我学东西比较急,通常都是把逻辑搞懂了,然后语法这方面就靠查看手册,今天就好好复习一下吧。

二、进入主题

  1. 定义变量:var

  2. 定义函数function()

  3. 输出内容:document.write();

  4. 警告弹出:alert()

  5. 确认:confirm()

  6. 消息对话框:prompt()

  7. 打开新窗口:window.open(“http://#######","打开方式","width=#","height=#","top=#","left=#“)

    打开方式:_blank,_self,_top;

  8. 关闭窗口:obj.close();

  9. 通过id获取元素:document.getElementById(“id”);

  10. 获取或者替换HTML元素的内容:obj.innerHTML;

  11. 改变HTML样式:Obj.style.property = new style;例:mychar.style.color = “red”;

  12. 显示和隐藏:obj.style.display = block(显示)/none(隐藏);

  13. 控制类名:obj.className = classname 例:p1.classname = “two”

  14. 数组定义:var myarr = new Array(),myarr[0] = 80; myarr = new array(11,22,33);

    使用一个新索引,即可为数组增加新元素

  15. 数组长度:myarray.length;

  16. 二维数组:

    • var myarr=new Array(); //先声明一维 for(var i=0;i<2;i++){ //一维长度为2 myarr[i]=new Array(); //再声明二维 for(var j=0;j<3;j++){ //二维长度为3 myarr[i][j]=i+j; // 赋值,每个数组元素的值为i+j } }
  17. 事件:

    • 鼠标单击事件:onclick = “function()”
    • 鼠标经过事件:onmouseover = “function()”
    • 鼠标离开事件:onmouseout = “function()”
    • 光标聚焦事件:onfocus = “function()”
    • 失焦事件:onblur = “function()”
    • 内容选中事件:onselect = “function()”
    • 文本框内容改变事件:onchange = “function()”
    • 加载事件:onload = “function()”
    • 卸载事件:onunload = “function()”
  18. 内置对象:

    • 访问对象属性的方法:objName.propertyName;
    • 访问对象的方法:objName.methodName()
    • 日期对象;var Udate = new Date(); / var Udate = new Date(2012,10,1);
      • 返回/设置日期:get/setDate()
      • 返回/设置年份(四位数):get/setFullYear()
      • 返回/设置年份:get/setYear()
      • 返回/设置月份:get/setMonth()
      • 返回/设置小时(24小时):get/setHours()
      • 返回/设置分钟:get/setMinutes()
      • 返回/设置秒钟:get/setSeconds()
      • 返回/设置时间(毫秒为单位):get/setTime()
    • 字符串对象:
      • 定义:var mystr = “I love Javasript!”
      • 访问长度:mystr.length
      • 访问方法:mystr.function()
      • 返回指定位置字符串:mystr.charAt()
      • 返回指定字符串值首次出现的位置:mystr.indexof(“o”,5)
      • 字符串分割:
        • mystr.split(“se”,”limit”)——se代表以什么分割,如:”_或者.”当se为空字符串””时将分割每一个单词
        • limit是要分割的字符数,可省略;
      • 字符串提取:mystr.substr(start,stop);
    • Math对象:
      • Math.PI
      • 向上取整:Math.ceil(x)
      • 向下取整:Math.floor(x)
      • 四舍五入:Math.round(x)
      • 随机数:Math.random()
    • 数组对象:
      • 数组连接:arr1.contact(arr2,arr3)
      • 指定分隔符连接数组元素:arr.join(“分隔符”)——arr.join(“.”)
      • 颠倒数组:arr.reverse()
      • 选定元素:arr.slice(start,end)
      • 数组排序:arr.sort();
  19. 浏览器对象:

    • 计时器:
      • 设定计时器每隔指定时间调用一次函数:setInterval(“function()”,time)
      • 取消计时器:clearinterval(id_ofsetinterval)
      • 载入后延迟指定时间去执行一次代码(仅一次):setTimeout(“代码”,time)
      • 取消计时器:clearTimeout(id_ofsetTimeout)
    • history对象:
      • history中url数量:window.history.length
      • history中的前一个url:window.history.back()
      • history中的下一个url:window.history.forward()
      • history中的某个具体页面:window.history.go()
    • location对象:
      • 设置或返回以#开头的URL:window.location.hash
      • 设置或返回主机名和当前URL端口号:window.location.host
      • 设置或返回当前URL的主机名:window.location.hostname
      • 设置或返回完整的URL:window.location.href
      • 设置或返回当前URL的端口号:window.location.port
      • 设置或返回当前URL的协议:window.location.protocol
      • 设置或返回从问号(?)开始的URL(查询部分):window.location.search
      • 加载新的文档:window.location.assign()
      • 重新加载文档:window.location.reload()
      • 用新的文档代替当前文档:window.location.repalce()
    • Navigator对象:
      • 浏览器代码名的字符串表示:navigator.appCodeName
      • 返回浏览器名称:navigator.appname
      • 返回浏览器的平台和版本信息:navigator.appVersion
      • 返回浏览器的操作系统平台:navigator.platform
      • 返回由客户发送的user.agent头部的值
    • Screen对象:
      • 窗口可使用的屏幕高度,单位像素:window.screen.availHeight
      • 窗口可使用的屏幕宽度,单位像素:window.screen.availWidth
      • 用户浏览器表示的颜色位数:window.screen.colorDepth
      • 屏幕的高度,单位像素:window.screen.height
      • 屏幕的宽度,单位像素:window.screen.width
  20. DOM对象:

    • 返回带有指定名称节点的对象组合:document.getElementsByName(name);

    • 返回带有指定标签名节点的对象组合:document.getElementsByTagName(Tagname)

    • 通过元素节点的属性名称获取属性的值:elementNode.getAttribute(name)

    • 通过元素节点的属性名称设置属性值(增加):elementNode.setAttribute(name,value)

    • 节点属性:

      • 节点名称:node.nodeName
      • 节点的值:node.nodeValue
      • 节点的类型:node.nodeType
    • 访问子节点:elementNode.childNodes

    • 访问子节点的第一项和最后一项:node.firstchild——node.lastchild

    • 访问父节点:elementNode.parentNode

    • 访问兄弟节点:node.nextSibling

    • 插入节点(最后一个子节点之后):node.appendChild(newnode)

    • 在已有子节点之前插入一个新的子节点:node.insertBefore(newnode,node)

    • 删除节点:node.removeChild(node)

    • 替换元素节点:node.removeChild(newnode,oldnode)

    • 创建元素节点:document.createElement(tagName)

    • 创建文本节点:document.createTextNode(data)

    • 浏览器窗口可视区域大小:var w = document.documentElement.clientWidth||document.body.clientWidth,

      var h = document.documentElement.clientHeight||document.body.clientHeight

    • 获取网页内容高度和宽度:

      var w = document.documentElement.scrollWidth||document.body.scrollWidth

      var h = document.documentElement.scrollHeight||document.body.scrollHeight

    • 网页尺寸:offsetHeight = clientHeight+滚动条+边框