条件运算符也叫三元运算符
语法:
条件表达式?语句1:语句2;
- 执行的流程:
条件运算符在执行时,首先对条件表达式进行求值,
如果该值为true,则执行语句1,并返回执行结果
如果该值为false,则执行语句2,并返回执行结果
如果条件的表达式的求值结果是一个非布尔值,会将其转换为布尔值然后在运算
document .getElementByid("div1");根据ID来获取;
document .之后getElementByid("div1") .title = "你真好看" ;
运算符的优先级
就和数学中一样,在JS中运算符也有优先级,
比如:先乘除 后加减
在JS中有一个运算符优先级的表,
在表中越靠上优先级越高,优先级越高越优先计算
如果优先级一样,则从左往右计算
但是这个表我们并不需要记忆,如果遇到优先级不清楚
可以使用()来改变优先级
整个文档加载完之后执行的一个匿名函数;
function 匿名函数;
window .onload = function() {} 写在《script》标签里面;
通过id来查找文档中的唯一id
document getElementByid ("link") .href = "www.baifu.com",(跳转到网页)
还可以 例如 : var oA = document .getElentByid("link");
oA .href = "www.baidu.com"
oA .title = "去到百度网";
还可以读出来 : alert (oA.id) alert (oA.title);
对象 . 方法 ; 对象 . 属性 ;
Js 换肤
导入搜索外部样式 《link id = link1 red = "stylesheet" type = "text /css" href = "css/1.css" ;
操作颜色属性 : odiv .style .color = "red" ;
在Js 里面设置字号的方法 fontSize 例如 : odiv .style .fontSize = "30px" ;
Js 操作classs 属性 不能直接用 class 用classname 就可以了;
例如 : odiv.classname = "box2";
var .att = "color" ;
odiv style[att] = "red";
innerhtml 是js 里面
odiv2.innerhtml = "这是第二个div元素的内容"
面试题:document.write 和 innerhtl 有什么区别?
document .write 重绘的是整个页面;
innerhtml 重绘的是页面的一部分;
js 函数
《inpdut type = "button" value = "皮肤" onclick = skin01()"》但是这样不好;
js可控制皮肤
点击事件 onclick ;
function .skin01(){ var olink = document.getFlementByid("link1")};
olink .href = css/1.css ;
同上 olink .href = "css/2.css";
function .函数名() ; 函数的调用 函数名();
window.onaload = function(){};
《script》js代码要放在js目录下;
变量和函数域解析
JS 的代码是从上向下执行的;
编译在执行,变量的声明提前,只把声明提前,赋值不提前,函数是整个都提前;
匿名函数
window .onaload = function(); 这就是一个匿名函数;
var cc = document.getElemmentByid ('div');
cc.onclick = function(){alert("你好")};
函数传参
例如:function sheet(styl)
{odiv .style[styl] = "red"};
如果有两个形参的话 用逗号隔开
函数 return 关键字
框 《input type = "text"》 如果想操作就在 后面写一个 id = “” ;
点击框 《input type = "button" value = "相加"》;
return 的作用?
1.返回函数执行的结果;2.结束函数的执行; 3.可以阻止默认执行;
只要写了return 下面的代码就不执行了;
流程控制语句 ; 分支语句;
1.条件判断语句; if .....else ;
2.条件分支语句 : swith ....case default;
3.循环语句 : for ,while ,do ... while ;
1.条件判断语句 :
display : none;隐藏,就没有了; diaplay :block 显示 然后又出来了;
if(cc.style.display == 'none'){cc.style.display == "block"};
ese{cc.style.display == 'none'};
不能写反了;
多重判断语句 elif
2.条件分支语句 switch ...case
使用 break 可以结束整个switch ..case 语句,
每一个语句的后面都加break;
例如: switch(today){case:
alear("数学");
break}
遇到break就就结束整个 switch ...case 语句;
数组 aRr 代表一个数组;
1.用面向对象的方式 用new 例如: var aRr01 = new Array(1,2,3,4);
2.直接用[]中括号;
获取数组的整个长度 aleert(aRr02,length);
获取数组的内容 例如: alert (aRr02[3])
定义多维数组, 二维数组,例如:var aRr03 =[[1,2,3],[3,0,2,1],[1,1,1]]
length 表示 长度
从0开始,下标;
数组的常用方法 join
push方法:向末尾增加元素;
pop 方法:从末尾删除一个;
unshift :向元素的前面插入一个;
shift : 把最前面的一个删除;
reverse : 可以将元素的数组反转;
indexof : 可以返回数组,第一次出现的索引值;
splice 可以在数组中增加或删除元素;
网友评论