js一些重点知识总结(二)

时间:2023-12-25 18:32:55

第一部分:数据类型转换

1) 数据类型的种类: 数值型number、布尔型(true(1) /false (0))、字符串型(String)、空类型(null)(object)

2) 数据类型自动转换: 除过加号以外的基本运算符,数值类型的优先级高,会把字符串类型转换为数值类型

3) 类型之间转换的常用函数: eval("纯数字的字符串") :直接转换为数值型 var str = eval("15") + 8 ; // 结果:23
parseInt(" 以数字开头字符串") :把字符串强转换为整型
parseFloat("以数字开头的字符串") :把字符串强转换为浮点型 tofixed(小数点位数)

把整型转换为字符串类型: toString()

第二部分:javascript中几大运算符 与 流程控制语句

1)算数运算符(+ - * / % -- ++)、逻辑运算符( && || !)、
var str = undefined; //null "" NaN
if(str == undefined || str == null || str == "" || str == NaN)
{
alert("信息为空,请重新输入!");
}

if(!str) /*通过这个条件代替上述if中的几个判断*/ -----(优先考虑的判断语句)
{
alert("信息为空,请重新输入!");
}

2)赋值运算符(=(直接赋值的等号) += -= /= *= %=)、
3)比较运算符(==(只要比较内容) 与=== (强等号(比较内容和数据类型)))、条件运算符(三目运算符 : var st = (2>1 ? true : false));

4)流程控制语句:
(1)if(){} else(){}
(2) switch case
(3)do{} while(){} / while(){}
(4)for循环 (for(var i=0;i<5;i++){} / for(var i in 数组对象){ 注意:i是索引})})

第三部分:常用函数
编码函数escape
译码函数 unescape

第四部分: 自定义函数
(1)自定义函数的结构:
function 函数名() //无参函数
{
}

function 函数名f1(形参。。。)
{
(1)声明局部变量 或者使用参数 或 (使用全局变量)
(2)函数体
}

f1(实参。。。); (实参个数和形参个数可以不相同(跟java比较))


(2)内部函数
function outFun(a,b)
{
function innerFun()
{
return a+b; (内部函数可以调用外部函数的参数)
}

return innerfun() - innerFun(); (外部函数返回内部函数的结果)
}

第五部分:js中的常用事件

(1)鼠标事件 : onclick(单击(鼠标左键)) 、 ondblclick(双击) 、 onmousedown(可以按鼠标的左右键)、onmouseover(鼠标悬浮在某个对象上)、onmouseout(鼠标移开某个对象)/onmouseleave
onmousemove(鼠标在对象上移动事件)
(2)键盘事件: onkeydown(按下键盘上的任意键)、 onkeypress(除系统按键、开关键等的(其他字母键、数字键))、onkeyup(键盘松开事件)

(3)焦点事件: onfocus(获取焦点事件) 、onblur(失去焦点事件)

(4)页面初始化加载事件: onload() : window.onload = function() {}

(5)改变事件 onchange(用于下拉框中)

1、window对象(窗口对象)

window对象的常用属性和方法:
a:属性 :innerHeight/innerWidth(窗口内容区的可视高宽度)、outerHeight/outerWidth(窗口占用的整个屏幕的外边界的高宽度)、 screenX/screenY(窗口离屏幕左上角的水平和垂直方向的位置)
b:方法:open("URL","name(_blank,_self/(name))",‘新窗口的规格’)
moveBy(水平位移,垂直位移)(每次移动的距离是以其相对位置来移动)、
moveTo(x的坐标位置,y的坐标位置)
resizeBy(x,y)/ resizeTo(x,y)

setTimeout("表达式、回调函数(外部的回调函数、自身的回调函数)",2000(毫秒)) / clearTimeout(定时器定义的名称) : (第一次触发后)该定时器只能执行一次。

setInterval("表达式、回调函数(外部的回调函数、自身的回调函数)",2000(毫秒))/ clearInterval(定时器名称) :一旦首次启动,后面一直会运行下去。
关闭窗口的方法:window.close(); 判断窗口是否被关闭:window.closed(true/false);

1)history对象
属性:length(相对当前页面,访问的历史页面的个数)
方法:后退(history.back()/history.go(-1))
前进(history.forward()/history.go(1))

2)location对象 :位置对象

http://localhost:63333/developThree/js-04/window01.html#top? lname=“admin”&password="123" (?lname=“admin”&password="123" :表示链接的查询 字符部分(传参的部分))

(1)属性:通信协议:location.protocol / location.hostname/ location.port/ location.host/
location.hash(链接地址#后面的值(top))、
location.href="url地址";
(2)方法:reload(): 重载页面、 replace(url地址):用新地址替换当前页

3)document对象:文档对象:
a:属性:title(当前网页的标题(浏览器的标题))/links(获取超链接对象(只要含有href属性))/linkColor(超链接对象的文本颜色)、alinkColor(准备要访问(鼠标点击到超链接对象上))、vlinkColor(访问过的超链接对象)、bgColor(文档的背景颜色)、fgColor(body中文本的颜色)、
document.forms: 获取页面中的所有表单对象(数组对象)、
document.images:获取页面上的图片数组对象、
document.lastModified :获取文档的最后修改日期。
document.anchors:获取所有锚点(只含有name属性的超链接对象)的数组对象
(注意:遍历document数组对象的时候,通过普通的for循坏遍历(for(var i=0;i<length;i++{})))
<p id="p1"> </p>
(1)通过ID获取对象:var pObject = document.getElementById("p1");
(2)赋值:innerText(赋值(文本内容)/获取值)、innerHtml(赋值(包含html标签的内容))
(3)通过对象的style属性设置样式: pObject.style.color="设置文本颜色";

第一点:锚点对象 : <a name=""> </a>(只含有name属性,不含有href属性的a标签对象)
获取一组锚点的数组对象:document.anchors, 通过数组的索引方式获取其中的对象,索引从0开始。
事件:点击事件(单击、双击)、鼠标事件(悬浮、移动、移出)

第二点:链接对象:<a href=""> </a>
document.links : 返回值是数组对象
属性:href、hash、host、hostname、pathname、port、protocol、search
、text:(获取文本内容或者赋值文本内容)

方法:点击事件(单击、双击)、鼠标事件(悬浮、移动、移出)、键盘事件(keydown(键盘上所有的键)、keypress(非系统的按键)、keyup)

window.event.keyCode :表示键盘的按键编码 (此写法在火狐上不支持)
(9:Tab , 13:Enter,)
火狐浏览器上只支持通过事件传参的形式(常用)。onkeydown=fun(event){}

第三点:图片对象
document.images : 图像对象的数组
属性:src、border、hspace/vspace(不常用)、complete:true/false(表示图像是否加载完成)
事件:onerror:当图片路径不对或者缺失的情况下触发,事件的位置:不能放在window.onload方法中。(直接在img标签中直接触发或者body结束标签下面的js脚本中)
onload:图像初始化加载完成
//创建一个图像对象:var img = new Image();

第四点:document获取对象的四种方法
(1)document.getElementById("id") :一个值
(2)document.getElementsByClassName("class属性值"):数组
(3)document.getElementsByName("name属性值") :数组
(4)document.getElementsByTagName("标签名"); :数组

第五点:document创建元素对象
(1)var p = document.createElement("p(标签名)");
(2)var pContent = document.createTextNode("文本内容");
(3) p.appendChild(pContent);
p.className=""
p.style.color="";
(4)追加的位置:document.body.appendChild(p);