<!--在head标签中使用script标签进行js代码域声明--> <script type="text/javascript" language="JavaScript"></script> <!--引入外部声明的js文件--> <script src="" type="text/javascript" charset="utf-8"></script>
var=12|3.14|"aa"|'bb'|true|new Date()javascript
变量名区分大小写html
查看数据类型 typeof ajava
number,string,boolean,object,undefined(undefined类型),null(object类型)ios
Number(a),转换为数值类型,失败返回NaN(number类型)数组
Boolean(a),转布尔,非零值返回true,0值,null,未定义,空字符串返回false浏览器
除了+号,碰到字符串,进行字符串链接app
其余运算符都会先将运算对象转换成数值类型在进行计算dom
比较运算符中有数字时,也会先将其余类型转成数值类型函数
===必须类型一致,值一致this
null == undefined,可是不全等
var arr1 = new Array(); //声明空数组 arr1[0] = "abc"; var arr2 = new Array(5); //声明指定长度的数组 alert(arr2.length); var arr3 = [1, 2, 3]; var arr4 = new Array([5, 6]); //直接给初始值 var arr5 = []; //空数组 arr5[0] = 0; arr5[10] = 10; alert(arr5.length); //11 // 数组长度看最大的下标,下标只能是数字,下标不存在的值是undefined //遍历 for(;;) for(var i in arr)
function test(btn){ // var num = document.getElementById("aaa").value; var num = btn.value; switch(num) { case "=": document.getElementById("inp").value = eval(document.getElementById("inp").value); break; case "c": document.getElementById("inp").value = ""; break; default: document.getElementById("inp").value += btn.value; break; } } <input type="text" id="inp" value="" /> <input type="button" id="aaa" value="1" onclick="test(this)" />
合并:str.concat(b, c);
数组转字符串:str.join(“-”); //参数是分隔符
尾部出栈:str.pop();
尾部入栈:str.push("hello");
反转:str.reverse();
头部出栈:str.shift();
头部入栈:str.unshift("aa");
排序:sort();
删除并可选插入:splice();
//js里函数是对象 function foo(a1, a2) {alert("函数声明1")}; var test = new Function("a1", "a2", "alert('函数声明2')");//最后一个是函数体 var bar = function(a1, a2) {};
function Person(name, age) {//声明和构造二合一了 this.name = name; this.age = age; this.test = function(a) { alert(a); } } var p1 = new Person("张三", 20); alert(p1.name); p1.address = "北京市"; alert(p1.address); //类对象里的内容,能够动态加 //使用prototype Person.prototype.test = function(){alert("哈哈");}; //类对象公有的,优先找本对象本身的 function User(uname, pwd) { this.uname = uname; this.pwd = pwd; } User.prototype.goo = function(){alert("goo")}; Person.prototype.user = new User(); p1.user.goo(); //变相实现继承的功能 Person.prototype = new User(); p1.goo();
//临时建立一个对象,来自定义属性存储数据,通常用来存数据 var obj = new Object(); obj.name = "张三"; obj.age = "25";
toUpperCase toLowerCase substr //指定开始位置和长度 strstring //指定开始位置和结束位置 indexOf //指定字符第一次出现的位置 LastIndexOf //最后一次
var d =new Date(); d.getYear();
random //[0, 1) floor //向下取整
eval //检查js代码并执行 isNaN // parseInt //
onclick //单击 ondbclick //双击 onmouseover //鼠标进入 onmousemove //鼠标移动 onmouseout //鼠标移出 onkeydown //键盘按下 onkeyup //键盘弹起 onfocus //获取焦点 onblur //失去焦点 onload //页面加载,页面加载成功以后,主要用来初始化页面数据,body onchange //值改变事件,select
例如单双击事件之间
事件的函数若是返回的是false,那么标签自己的功能,如超连接,form表单提交的动做会被阻断
<a href="javascript:testfunc()">调动js函数</a>
BOM浏览器对象模型的具体实现,JS调用浏览器自己的功能
window对象不用new,直接进行使用便可。window关键字能够省略不写
window.alert("我是警告框"); //警告框,无返回值 window.confirm("肯定要删除么?"); //确认框,返回boolean var name = window.prompt("请输入昵称:"); //提示框,返回输入的字符串或null
var id1 = setTimeout(func, 3000);//定时执行,指定时间后执行指定函数,参数1函数对象,参数2时间毫秒 var id2 = setInterval(func, 2000); //间隔执行,间隔固定时间执行 cleanTimeout(id1); //中止执行的定时器 cleanInterval(id2); //中止指定的间隔器
//从父页面,打开子页面 open('页面.html','newwindow', 'width=600, height, left=100px, top, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no') window.setInternal(function(){ var span = document.getElementById("timeSpan"); span.innerHTML = span.innerHTML - 1; // 关闭子页面 if (span.innerHTML == 0) { window.close(); //只能关闭window.open打开的页面 } }, 1000); window.openser.testfunc();//子页面调用父页面的方法。能够在父页面搞提示语,能够从新加载父页面的资源 <b> 欢迎访问,页面将在<span id="timeSpan" style="color:red; font-size:30px">5</span>后关闭</b>
//地址栏属性 window.location.href="http://www.baidu.com"; //跳转 window.location.reload(); //刷新 //历史记录属性 window.history.forward(); //前进 window.history.back(); //后退 window.history.go; //跳转到指定历史记录页面,0是当前页面 //屏幕属性 window.screen.width; //分辨率 window.screen.height; //浏览器配置属性 window.navigator.userAgent; //浏览器版本信息 //主体面板属性(document)
浏览器对外提供的一个对象,支持js操做HTML文档,此对象封存了HTML文档的全部信息。
var a = window.document.getElementById("uname");//id var fav = window.document.getElementsByName("fav");//name,返回数组 var input = window.document.getElementsByTagName("input");//标签名,返回数组 var xx = window.document.getElementsByClassName("common");//class
//父子关系 var showdiv = document.getElementById("showdiv"); //获取父级元素对象 var childs = showdiv.childNodes; //获取全部的子元素对象数组 //子父关系 var inp = document.getElementById("inp"); //获取子元素对象 var div = showdiv.parentNode; //获取父元素 //兄弟关系 var inp = document.getElementById("inp"); //获取元素对象 var preEle = inp.previosSibling; //上一个元素 var nextEle = inp.nextSibling; //下一个元素
var inp = document.getElementById("unmme"); alert(inp.type + ":" + inp.name + ":" + inp.id + ":" + inp.value); //获取固有属性 inp.value = "jealous"; //修改固有属性 inp.getAttribute("customized_attribute"); inp.setAttribute("customized_attribute", "classic");
alert(div.innerHTML); //获取元素对象div的全部内容,包括HTML标签 div.innerTEXT; //获取元素对象div的文本内容,不包括HTML标签 showdiv.style.backgroundColor="#FFA500"; //修改元素style属性中的样式
showdiv.innerHTML = showdiv.innerHTML + "<div><input type='file' value=''/><input type='button' value='删除' onclick='delInp(this)'/></div>"; //div增长内容 function delInp(btn) { var showdiv = getElementById("showdiv"); var cdiv = btn.parentNode; //input元素对象的父节点 showdiv.removeChild(cdiv); //父div删除子div } var showdiv = document.getElementById("showdiv"); var inp = document.createElement("input"); inp.type = "file"; var btn = document.createElement("input"); btn.tyle = "button"; btn.value = "删除"; btn.onclick = function(){ showdiv.removeChild(inp); showdiv.removeChild(btn); showdiv.removeChild(br); } var br = document.createElement("br"); //将建立的元素放到div里面 showdiv.appendChild(inp); showdiv.appendChild(btn); showdiv.appendChild(br);
//获取form表单对象 var fm = document.getElementById("fm"); //直接经过name属性值 var frm = document.frm; //获取form表单元素对象集合 fm.elements.length //form表单经常使用方法 fm.submit(); fm.reset(); //表单属性操做 fm.action = "http://www.baidu.com/s"; fm.method = "GET"; //表单元素通用属性 readonly="readonly"; //数据不可更改,可是能够提交 disabled="disabled"; //不能进行任何操做,数据不会提交
//删除行 function delRow(btn) { var ta =document.getElementById("ta"); //获取表格对象 vat tr = btn.parentNode.parentNode; //获取要删除的行对象 ta.deleteRow(tr.rowIndex); } //修改行内容 function updateRow(){ var cell = document.getElementById("cell"); cell.innerHTML="<input type='text' value='" + cell.innerHTML + "' onblur='updateRow2(this)'/>"; //修改单元格内容 } function updateRow2(inp) { var cell = document.getElementById("cell"); cell.innerHTML = inp.value; //失去焦点时保存数值 } // 添加行 function addRow() { var ta = document.getElementById("ta"); //获取表格对象 var tr = ta.insertRow(1); var cell0 = tr.insertCell(0); cell0.innerHTML = "<input type='checkbox' name = 'chk'/>"; var cell1 = tr.insertCell(1); cell1.innerHTML = getElementById("uname").value; ... } // 复制行 function copyRow() { tr.innerHTML = ta.row[i].innerHTML; }