首页 > 网站 > WEB开发 > 正文

JavaScript入门

2024-04-27 14:10:54
字体:
来源:转载
供稿:网友

javaScript入门

Posted on 2015-04-13 20:12 yanzi2015 阅读(...) 评论(...) 编辑 收藏

刚开始常常被卡住思路,或者实现思路不够简洁。学习的过程就是一个积累的过程,敲的多了见的多了经验自然就有了,大项目的经验另说,最起码知识掌握熟练透彻,再扩展起来也快。现在啃到面向对象了,休息几天,回过头去想想之前学到的东西,重新记起忘记了的,也会学到新的东西,或者之前一直没想明白的问题一下子理解了。

今天写写我的Javascript入门经历:

在写一个JavaScript程序之前,要做什么?

1)写结构+样式,HTML+CSS

2)找到实现它的原理

3)再开始写JavaScript

还有刚刚开始写程序,很重要的一点是边写边测试,这样能够及时的发现错误。

比如我们希望把某个元素离开我们的视线

写这个JavaScript效果的步骤:

1,先实现布局;

2,找实现原理:

1、display:none;显示为无,元素在页面中不存在

2、visibility:hidden;让元素隐藏,元素还是存在的,占了文档流

3、width/height为零

4、改透明度

5、通过定位改left/top

6、拿一个白色div盖住

7、margin负值

等等很多

3,了解JavaScript语法:

JavaScript中如何获取元素:

1)根据ID名称:#div1{}

varoDiv=document.getElementById("div1");

2)根据标签名称:

(可以结合CSS中的id、class来理解)

li{}

varaLi=document.getElementsByTagName("li");

#ul1li{}

varoUl=document.getElementById('ul1');

varaLi=oUl.getElementsByTagName('li');

ulli{}

varoUl=document.getElementsByTagName('ul')[0];

//即使页面上,只有一个元素,aUl也是获取一组

varaLi=oUl.getElementsByTagName('li');

事件:鼠标事件、键盘事件、系统事件、表单事件、自定义事件

onclickonmouSEOveronmouseoutonmousedownonmouseuponmousemove…

onload加载完以后执行......

window.onload=事件

Img.onload

Body.onload

iframe.onload

如何添加事件:

元素.事件

函数:可以理解为命令,做一些事

function名字abc(){ //函数内任何代码肯定不会主动执行

……

}

如何让函数执行

1、直接调用:abc();

2、事件调用:元素.事件=abc;(oDiv.onclick=abc;这里注意不要加括号,因为见到函数名称加括号不等调用就执行了)

3、

function(){}匿名函数

元素.事件=function(){}

测试:

alert(1); //带一个确定按钮的警告框

alert(‘ok’); //自己写的一句话都要加引号,单引号双引号都可

alert(“ok”);

alert(oText.value);//不用加引号

----------------------------------------------------

有名字的函数调用:

直接调用:fn1();

事件调用:obj.onclick=fn1;

匿名函数调用:

直接调用:(函数自执行)

(function(){alert(345);})()

~function(){alert(567);}();

!function(){alert(789);}();

+function(){alert(980);}();

事件调用:

obj.onclick=function(){alert(123);};

window.onload=function(){};//窗口里所有的代码都加载完成以后,再执行

属性操作:

属性=属性名+属性值

读操作(获取):元素.属性名

写操作(改变-先清除原来的,后添加新内容):元素.属性名=新的值

1 var oDiv = document.getElementById('div1');2 alert(oDiv.innerHTML); //读3 4 oDiv.onclick = function(){5     oDiv.innerHTML = 123; //写(先清空,后添加)6 };7 // 如果绑定了事件在元素身上,那些事件也会被清空

属性操作中的[]:

varoDiv=document['getElementById']('div1');

oBtn['onclick']=function(){

JavaScript操作中的一些注意事项:

1)JavaScript中不允许出现-,去掉-,把后面单词第一个字母变大写

2)有些东西不要用来做判断

//不能做为判断条件的情况:

1、相对路径

imgsrc

ahref="1.html"

2、颜色值

color:red;#f00rgb(255,0,0)

3、innerHTML在低版本浏览器下会出现兼容性问题

/*

oDiv.style.width='200px';

oDiv.style.height='200px';

oDiv.style.background='red';

*/

oDiv.style.cssText='width:240px;height:220px;background:yellow;';

 1 var oDiv = document.getElementById('div1'); 2  3 oDiv.style.height = '200px'; 4 oDiv.style.background = 'red'; 5 // 以上在原来样式基础上,添加或者修改 6  7 oDiv.style.cssText = 'height:220px; background:yellow;'; 8 // 把原来的样式width干掉了,再添加行间样式 9 10 alert( oDiv.style.cssText );        // 'width:200px'11 oDiv.style.cssText += 'height:220px; background:yellow;';12 // 用 cssText 在原来样式上继续添加新样式

获取元素的两个方法有3个区别:

document.getElementById(‘id’);  //静态方法;找一个元素;前边只能是document

document.getElementsByTagName(‘li’);//动态方法;找一组元素;前边可以是document或者一个元素,类似数组但不是数组,是一个元素的集合,虽不是数组但具备数组的属性:oUl.length长度;oUl[0]数组的访问方式;

只要用到ByTagName方法用的时候要加[]

动态方法是说,元素不存在的时候就可以获取元素,尽管找不到但不会报错,不过仅仅是可以获取而不能操作。后边程序中动态加了元素,这时候就可以找到元素也可以操作元素了。

1 var aBtn=document.getElementsByTagName("input"); //可以先获取元素2 alert(aBtn.length); //03 document.body.innerHTML = '<input type="button" value="按钮" /><input type="button" value="按钮" /><input type="button" value="按钮" />'4 alert(aBtn.length); //35 aBtn[0].onclick = function(){ //事件可以添加上6     alert(0);7 }

getElementsByTagName这个方法可以操作一堆没有id的元素,但是只能一个个写aBtn[0]aBtn[1]aBtn[2]所以引出了for循环:

//1)重复执行某些代码;2)每次执行的时候,有个数字在变化;

执行顺序走法

1)vari=0;

2)i<3;关键

3)执行括号里面的所有代码

4)i++

先1,然后一直234,直到不满足条件跳出循环

vari=0;

for(;i<3;){

alert(i);

i++;

}//另一种写法

for(vari=0;i< 3;i++){alert(i); //0,1,2}

alert(i);//3

/*只有当for循环完全执行完成之后,代码才会继续往下执行。*/

/*当使用for循环嵌套for循环的时候,每层循环都必须使用不同的变量来表示。*/

for循环应用:重复执行某件事;每次执行的时候,有个数字会变

this关键字:

this:指的是调用当前方法(函数)的那个对象。

window.alert();

window.fn1();只要这样调用fn1();this指的就是window

小结:

functionfn1(){

this

}

1)fn1(); this=>window

2)oDiv.onclick=fn1; this=>oDiv

3)oDiv.onclick=function(){thisfn1();} this=>oDiv; fn1()里this=>window

4)<divonclick=”thisfn1();”></div> this指的是div;fn1()里this=>window//很少这样写了

自定义属性、索引值

aBtn[0].abc=123;

JavaScript可以为任何HTML元素添加任意个自定义属性,可以读写操作。

标准属性:classNamewidthheightstyle

自定义属性:自己写代码的时候根据需要定义的属性,它不是标准属性。

先写到这,吃晚饭去啦


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表