Web:左耳入右耳出(JavaScript>小笔记)

本文介绍了JavaScript的基础语法,包括变量命名规则、数据类型、函数定义及调用、DOM操作等,并涵盖了常用的事件处理、循环控制、数组及字符串操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Js的语法规则:大小学敏感,一定要区分清楚大小写。
命名规范(主要):
1.由数字、字母、下划线"_"组成。
2.开头不能以数字开头,但可以用"$"开头。

数据类型:未定义undefined;空null;数字number(NaN);字符串string('');布尔boolean(true;false);对象object;函数function;数组[];


function XX():定义一个无参函数XX;XX(aa):有参函数(括号里又分实参与形参,实参是实实在在的东西,相当于字符串。)
也可理解为调用函数、启用函数、使用函数。。


Js的事件:
页面载入:window.onload
滚动:window.onscroll
鼠标点击:onclick
右击菜单:oncontexmenu
鼠标按下:onmousedown
鼠标弹起:onmouseup
鼠标在上方移动:onmousemove
鼠标移入:onmouseover
鼠标移出:onmouseout(与onmouseleave有一定的区别)
键盘按下:onkeydown
键盘弹起:onkeyup



函数的传参:实参给形参的过程
lg:function XX(aa,bb,cc,dd){aa=8+88*bb;cc=7+77*dd}


获取元素(节点):document:是最大的标签(隐藏的),包含了html标签。

可以理解成从整个HTML里面找元素...

1.getElementById('XXX'):用ID名获取,注意没有s没有name。
2.getElementsByClassName('XXX')[0]:用类名(ClassName)获取,注意有s有[n](表示第几组)
3.getElementsByTagName('XXX'):用标签名获取


循环语句:
for循环语句:
for(var x=0;x<?;x++){.....}
准备工作:var x=0(定义一个值x,给一个初始值);
设定条件:x<(某条件);
运行(方式);x++(x递增,就是x=x+1);
另外的for循环格式:for(var i in XXX){alert(i)};


switch语句:
switch(n){case 0:语句1;case 1:语句2;case 2:语句3;...;default:语句x}
其中的n是指第n+1个case开始执行,一直执行到最后。
默认有default语句的,一般可以不写。


break和continue:
break:直接跳出整个循环;
continue:跳过当前的一次循环;


文本内容函数:value与innerHTML(标签中的内容)
value是input标签里面的内容值;
innerHTML是除input标签以外的都能用。
也就是input只能用value;其他只能用innerHTML来提取标签中的内容。


数组:用中括号包起来,逗号隔开(英文输入,不能用中文符号)。a=[0,1,2,3,4,5]
var aUserName=['张三','李四','王五','杨六'];
aUserName[n]:表示引用其中第n-1个"值",0开始。
引用其中某个"值"的时候:aUserName[0];(当前值就是"张三")
某个值在数组中的位置:XXX.indexOf('x'):x是某个值;
拓展属性:数组有长度(XXX.length),可以知道数组中元素的个数。
XXX.push(a,b,c,d):在数组尾部添加元素abcd。
XXX.unshift(a,b,c,d):在数组头部添加元素abcd。
XXX.pop():删除最后一个元素。
XXX.shift():删除第一个元素。
XXX.splice(a,b):删除,由0开始算第一个,删除第(a-1)个开始往后的b个元素。
XXX.splice(a,b,c,d):置换,删除第(a-1)个开始往后的b个元素,再在此位置上加上元素c,d...
XXA.concat(XXB):拼接,XXA数组后拼接XXB数组。
XXX.sort():排序(按编制码排的);XXX.sort(function(n1,n2){return n1-n2;});  数字由小到大排序!
以上添加的属性只能添加数字属性或者字符串属性的值。


字符串的数组:XXX[n] XXX.charAt(n)        都能找出字符串中第n-1个位置的值,后面的兼容性更好!
XXX.search('x')       找出字符'x'在字符串数组XXX中的位置,没有找到返回的是-1!
XXX.split(' ')能用字符' '来切割数组,变成新的数组(只能用于字符串的数组)
定时器:  开启:
setInterval(XXX,n):XXX是函数名,n是时间(毫秒为单位)。不断循环运行;
setTimeout(XXX,m):m是延迟时间。运行一次;
关闭:var KKK=setInterval(XXX,n);clearInterval(KKK):
         var KKK=setTimeout(XXX,n);clearTimeout(KKK);



Json:用大括号包起来,逗号隔开,冒号定义值 lg:var json={a:1,b:2,c:3,d:4};
json没有长度,不能用length。


arguments:实参数组。sum(1,2,3,4,5,6,7,8,9,10,11,12,13),那么arguments就是指1,2,3,4...这个数组。


三目运算符:?: (判断条件)?(情况1):(情况2)lg:var a=1 a%2==0?升仙:跳海;
a++:加前运算 ++a是加后运算


!~小知识点~!:变成整型:parseInt(x) 浮点型:parseFloat(x)          变成字符串:XX.toString() 保留小数点后n位:XX.toFixed(n)
可视区域的属性:document.documentElement.clientHeight~Width


数学函数Math:
向上取整:Math.ceil(x)
舍弃小数位取整:Math.floor(x)
四舍五入:Math.round(x)
0~1之间随机取值:Math.random()


兼容性处理的问题(Js中一般的兼容性问题 DOM:非IE):
1.可视区域离页面顶部的距离 scrollTop:var scrollTop=document.documentElement.scrollTop||document.body.scrollTop;
2.scrollLeft也是同理;
3.透明度的处理: DOM的情况(取值0~1):opacity:1;
IE的情况(取值0~100):filter:alpha(opacity:50);
4.event问题:var Event=ev||event;event:IE的情况  ev:DOM的情况 Ps:用到event事件时,声明函数时记得加入形参ev:function(ev){}
5.事件绑定(多个相同的触发事件):
IE:attachEvent(事件名称, 函数)
DOM:addEventListener(事件名称,函数, 捕获)捕获一般是写false;
兼容性写法:
function AddEvent(obj, ev, fn){
if(obj.attachEvent){
obj.attachEvent('on'+ev, fn);
}
else{
obj.addEventListener(ev, fn, false);
}
}
6.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值