001_JavaScript学习
1,面向对象,事件驱动
2,动态,交互性
3,解释性语言,非强(弱)类型变量:不用声明,解释时检查类型
4,区分大小写,嵌入html,句尾加分号,可以独立保存为一个外部文件,但其中不能包含<script></script>标签
5,js常用的语句:
document.write("this is my first js"); <a href="javaScript:alert('test alert')">test alert</a><br> <a href="#" onclick="alert('test onclik')">test onclik</a> <input type="button" value="button" onclick="testFunction(1);"> <script type="text/javascript" src="./js/hello.js"></script> function testFunction(testNum){ quanjuVar02 = "在方法内没有var的全局变量"; } var quanjuVar01 = "定义在方法外的全局变量"; |
with(document){ writeln("with(对象)"); } 等同于:document.writeln("xxxx"); |
function member(name,sex){/* 构造函数 */ this.name = name; this.sex = sex; } function showProperty(obj,objString){ var str = ""; for(var i in obj){//for循环 str += objString + "." + i + "=" + obj[i] + "<br>"; } return str; } var obj = new member("刘德华","男"); document.writeln(showProperty(obj,"person")); |
<script type="text/javascript" charset="UTF-8"> //js中日期的操作 var date = new Date(); var day = date.getDay(); if(day == 0 ){ day = "日"; } document.writeln("直接打印全部时间:"+date+"<br>"); document.writeln("分开打印年月日:"+(date.getYear()+1900)+"年" +(date.getMonth()+1)+"月" +date.getDate() + "日" +"星期"+day + " " +date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds() +"<br>"); </script> |
<script type="text/javascript" charset="UTF-8"> var fruit = new Array("apple","apple01","apple02"); for(var i=0; i<fruit.length;i++){ document.writeln(fruit[i]); } document.writeln("<br>"); var fruit01 = new Array(3); fruit01 = new Array(); fruit01[0] = "apple"; fruit01[1] = "apple2"; fruit01[2] = "apple3"; for(var i=0; i<fruit01.length;i++){ document.writeln(fruit01[i]); } document.writeln("<br>"); var fruit03 = ["apple001","apple002","apple003"] for(var i=0; i<fruit03.length;i++){ document.writeln(fruit03[i]); } document.writeln("<br>"); </script> |
join() toString() reverse() valueOf() |
二维数组,String操作:48 |
<script type="text/javascript" charset="UTF-8"> function isEmail(){ var ele_Email = document.getElementsByName("email")[0]; if(ele_Email.value.indexOf("@") == -1){ alert("please input right email"); }else{ alert("ok"); } } </script> <input type="text" name="email"> <input type="button" value="check" onclick="isEmail();"> |
<script type="text/javascript" charset="UTF-8"> function member(name,sex){ this.name = name; this.sex = sex; this.display = display;//指定member对象的display方法 } function display(){ var str = this.name + "=" + this.sex; document.writeln(str); } var m1 = new member("lisi","man"); document.writeln("姓名="+m1.name+"<br>"); document.writeln("姓名="+m1.sex+"<br>"); document.writeln(m1.display()+"<br>");//推断出是函数,所以调用display()而不是this.display </script> |
function mOver(object){ <font onclick="window.location.href='https://www.baidu.com'" onmouseover="mOver(this)" onmouseout="mOut(this)">百度</font> this在这里是指font对象 |
定时器: 定时器名 = setTimeout("<表达式>",毫秒) |
var num = 0; function count(){ setTimeout("cou()",7000);//注意这里需要7秒才执行,但是后面的输出语句将不会等待 document.writeln("num="+num); } function cou(){ document.writeln("num="+num); num ++ ; } </script> <input type="button" value="check" onclick="count();"> |
var sec = 0; var timeId = setInterval("count()",1000); function count(){ document.getElementById("num").innerHTML=sec++; } <font color="red" id="num">0</font>秒钟 <input type="button" value="stop" onclick="clearInterval(timeId);"> |
function getEvent(event){//事件自动传入 alert("事件类型:"+event.type); } document.onmousedown = getEvent;//没有() |
<input type="button" value="check" id="check"> <script type="text/javascript" charset="UTF-8"> var obj = document.getElementById("check"); obj.onclick = clickHandler; function clickHandler(event1){ alert(event1.type); } </script> |
function focuss(){ var ele = document.getElementById("valueId2"); ele.focus(); } |
document.cookie = “” |
function(message){console.log(message);调试js代码}——但是IE不认识console.log,所以要注释掉
function testConsole(message){ |
6,js的内置对象
window(<font onclick="window.location.href='https://www.baidu.com'">百度</font>) | |
setInterval()和clearInterval() | |
窗口对象:window.属性/方法 opener.属性/方法 |
screen |
事件:event(document.onmousedown = getEvenet) |
7,函数就是对象
8,var add = function(number) ==>function add(number)
9,没有方法(函数)重载的概念
10,传参个数多少无关,如果打印一个null值:Undefined undefined
11,Function 对象,自定义函数是Function类型(number是传参,后面一个参数是方法体)
12,每个函数都一个隐含的对象:arguments[0](给当前函数传递的第一个实际参数),表示给函数实际传递的参数。和函数的形参无关
arguments.length
13,模拟函数的重载: