JavaScript学习笔记.docx
- 文档编号:7486773
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:19
- 大小:1.43MB
JavaScript学习笔记.docx
《JavaScript学习笔记.docx》由会员分享,可在线阅读,更多相关《JavaScript学习笔记.docx(19页珍藏版)》请在冰豆网上搜索。
JavaScript学习笔记
1、javaapplet效果比JavaScript好很多,公司内部系统使用applet居多,发布用的用JavaScript多
2、JavaScript用来在页面中编写特效的,解释型语言,和html/css一样都是由浏览器解释
3、脚本就是从上往下解压,没有什么周期的
4、DOM和BOM才能写特效,JQuery相当于js的一个框架更强大,效果比DOM和BOM更好,代码少功能多。
Jquery还不用考虑浏览器兼容性
5、JavaScript是基于对象的不是面向对象的
6、在head中间加入代码
在html中,引入css的方法主要有行内式、内嵌式、导入式和链接式4种。
1.行内式:
即在标记的style属性中设定css样式,这种方式本质上没体现出css的优势,因此不推荐使用。
2.嵌入式:
在对页面中各种元素的设置集中写在
和之间的,对于单个页面来说,这种方式很方便。3.导入式:
导入式格式如下:
@import"mystyle.css";
4.连接式:
格式如下:
采用后两种方式后的显示效果略有区别,区别如下:
连接式:
会在装载页面主体部分之前装载css文件,这样显示出来的网页从一开始就是带有样式效果的;
导入式:
会在整个页面装载完成后再装载CSS文件,对于有的浏览器来说,在一些情况下,如果网页文件的体积比较大,则会出现先显示无样式的页面,闪烁一下之后再出现设置样式后的效果,从浏览者的感受来说,这是导入式的一个缺陷。
对于一些比较大的网站,为了便于维护,可能会希望把所有的css样式分类别放到几个CSS文件中,这样如果使用连接式引入,就需要几个语句分别导入CSS文件。
如果要调整CSS文件的分类,就需要同时调整HTML文件,这对于维护工作来说,是一个缺陷,如果使用导入式,则可以只引进一个总的CSS文件,在这个文件中再导入其他独立CSS文件;而连接则不具备这个特性。
因此给大家的建议是:
如果仅需要引入一个CSS文件,则使用连接方式;如果需要引入多个CSS文件,则首先用连接方式引入一个“目录”CSS文件,这个“目录”CSS文件中再使用导入式引入其他CSS文件。
如果希望用javascript来动态决定引入哪个css文件,则必须使用连接式才能实现
7、输出
alert();
document.write();
8、可以写在任何html地方,不能嵌入css、php等程序中,只要浏览器能访问到的js脚本都是一体的,在不同js脚本中的变量也是通用的有关联的
9、在所有重定向(提交)的地方都可以变成JavaScript的入口,如:
10、如何在html中使用js:
1用引入
2使用href="javascript:
"引入
3css样式表用link,而JavaScript用
4可以在html页面中任何位置导入,一般写在头位置,
5加入的多个js文件其实是一个文件
6但是程序是从上往下运行的,顺序要注意
7写到外部文件中
11、任何类型的数据和字符串相加会变成字符串,弱类型语言允许浮点数求模函数,php、中会把浮点型4舍去5入转为整形,但JavaScript不转直接求模,建议不用浮点数,可以用负数取余,求余的正负数取决于前面的数不是后面的数
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
1、退出多层循环可以用标记号,如st:
2、
3、var声明变量
4、一行默认是一个语句,也可以不加分号,建议加上;写过的代码建议不删掉,可以先注释掉,待项目完成了再删除;
5、vara=10;声明
6、a=10;赋值
7、特殊类型:
资源型和空型,与整形浮点型并列
8、alert(typeof(a))
9、
10、所有的浮点数都是近似的,如8其实是7.999999999999999999.......
11、php尽量用单引号,但JavaScript中单引号和双引号不区别
12、+号是用来连接两个字符串的;如+a+,相当于php中的.号
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
函数
1、注意格式
2、有返回值的叫函数,没返回值的叫过程,函数遇到return就停止执行,return后面的代码完全无效;返回多个值用数组
3、加括号代表函数调用,不加括号代表整个函数
4、
5、回调函数
6、动态参数:
arguments
7、
8、基于对象则所有的都是对象的使用形式。
9、window对象和global对象都是直接可以用的
10、把网页编码成密文,用escape函数,显示的时候用unescape解码即可
11、浮点数转成整数是取整法,不是四舍五入,非数字的东西不能转,可以用isNaN判断数据是不是数字
12、
13、eval(str)可以执行字符串中的代码,在ajax中常用。
14、JavaScript也有封装继承多态,但一般不用考虑,因为JavaScript是基于对象的,将相关的操作使用一个对象完成,看做是一个整体,没有类的概念,只有对象的概念
15JavaScriptphp
对象类
对象实例对象
16、遍历对象:
for(varproinp){}
或者,varpro="";
for(proinp){alert(pro);
、}
17、
18、数学对象不用new,可以直接使用
数字不用(单)双引号都可以
19、
20、json是JavaScript对象的快速声明数组方式
varp=[name:
"zhangsan",sex="male",age:
10];
21、
22、声明2维数组,(除了c语言,其他语言大多数叫做数组的数组)
23、数组的操作可以用对象的方式声明:
可变长度用arguments
24、也可以用系统内置的array:
(上面的例子少了声明部分)
25
数组排序soeasy
26PHP数组输出三种形式PHP打印数组
$bbbb=array("11"=>"aaa","22"=>"bbb");
//方式一:
只能输出值value不能输出key
foreach($bbbbas$color)
echo$color;
//方法二:
value与key都可输出
foreach($bbbbas$key=>$value)
echo$key."=>".$value;
//方法三:
value与key都可输出
while($color=each($bbbb)){
echo$color['key'];
}
print_r()
var_dump()
$a=array(1,2,array("a","b","c"));
var_dump($a);
?
>
输出结果:
array(3){
[0]=>
int
(1)
[1]=>
int
(2)
[2]=>
array(3){
[0]=>
string
(1)"a"
[1]=>
string
(1)"b"
[2]=>
string
(1)"c"
}
}
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
DOM
1、dom(DocumentObjectModel)
2、document中的文档仅指HTML和xml文件(标记语言)
3、文档对象其实是bom对象
4、varobjs=document.getElemenByTagName("div");
5、innerText和innerHTML不同火狐用innerContent
6、遇到下划线把下划线去掉,首字母换大写:
如background—color
7、指定多个样式的时候写个类,也可以写个多个类,然后用.className,如:
里面的test和demo都是上面定义过的类,demo前面空格,用+=连接字符串
8、document中的三个方法:
9、
10、遍历对象:
11、
12、获取某个区域的div可以用如下方式:
12、数组的访问方式:
13、DOM中的Model'
父节点,parentNode
子节点、childNodesfirstNodelastNode
兄弟节点nextSiblingpreviousSibling
1、事件类型:
鼠标:
click
dbclick
conttextmenu(禁用或改变右键菜单常用)
mouseover
mouseout
mousedown
mouseup
mousemove
键盘
keypress
keyup
keydown
文档
load
unload
beforeunload卸载之前
表单
focus焦点
blur失去焦点
submit提交
change改变
其他
scroll滚动事件
selectd选择事件
。
。
。
。
。
。
2、加事件方式
①:
②:
对象.onclick=事件处理程序function(){
}
③
改变右键菜单并屏蔽右键
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
事件对象:
event
属性:
srcElement
keyCode键盘码
把所有的输入转为大写的:
onkeyup="if(this.value!
=this.value.toUpperCase()fthis.value=this.value.toUpperCase())"
keypress主要指数字字母和esc回车空格等常用的,不包括其他
keydown指所有的键盘键按下
1、自动执行的函数:
setinterval(function(){
},100)
控制小人在屏幕上下左右走
2、clientx,clienty
event其实是window.event
srcElement代表事件源,可以代替this,但有些浏览器不兼容
keyCode键盘码
解决ie和火狐兼容性
刚开始赋值是负数就是为了让他一开始不出现在屏幕。
3、拖拽块
bom
1、浏览器对象
status状态栏
opener在子窗体中代表父窗体的对象
closed
方法
alert()
confirm();
setInterval();
clearInterval();
open()
2、window.open("URL","窗口名","属性")
谷歌和opera浏览器自带调兼容(各种形式的手机电脑等)
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
17课,window对象下的子对象
document
localtion
跳转的方法:
history
screen屏幕分辨率
复制本网址的代码:
(把内容放进剪切板)window.clipboardData.setData("Text",clipBoardContent);
JavaScript一些位置属性
1、offset
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
one.width无法获取div宽度,只能用one.offsetwidth获取。
也可以用one.style.width
offsettop:
偏离上一个盒子的距离,可以用于出现漂浮的div
offsetWidth自身的宽度
scrollTop滚动的顶部距离用document.body.scrollTop
用包含dtd文件能解决拉动滚动条而图片位置不变,在