一 基本语法
1.在js中作用域分为全局变量和局部变量:
全局变量:在事件或者函数以外的所有变量。
局部变量:在事件或者函数以内的变量,作为范围仅该范围。
注:将局部变量用在其他作用域——闭包(尽量避免使用,增大内存)
2.在编程里分为面向对象和面向过程,其中面向对象的三个特征:封装,继承,多态。
封装:把一些特征和功能组合到一个抽象的对象上。
继承:可以扩展已存在的代码模块(类)。
多态:允许将子类类型的指针赋值给父类类型的指针。
3.语法
(1)js中数据类型统一关键字 var
(2)var 变量名称;——变量的声明
var oA;
alert(oA); //undefined
基于上述情况的修改:应给变量进行初始化即给变量赋值。
var oA=5;
alert(oA); //5
(3)数据类型:number,string,bool,object(对象),array(数组)…(4)命名规范:
驼峰命名:函数名的每一个逻辑断点都有大写字母标记;
帕斯卡 :函数名的每一个逻辑断点都有下划线标记。
(5)eg
var a=10; //此处为全局变量
function oA(){
var b=5; //此处为局部变量
alert(b); //5
}
oA() //调用函数
else
var a=10;
function oA(){
var b=5;
return(b);
}
var c=oA();
alert(c); //5(在外部使用局部)
二 js里面的循环结构表
for
最简单的for循环为死循环 for( ; ;){ }
注:循环遍历 针对对象组来使用 在一组里面找某一东西
for(定义变量 in 组){ }
eg
for (var i=1;i<10;i++){
for(var j=1;j<=i;j++){
document.write(i+"*"+j+"="+i*j+(i*j<10?" ":" "))
//三元运算符 判断条件?true:false
} document.write("</br>")
} //9*9乘法表
while与do while
while(判断条件){ } //while先判断后执行;
var n=0;
while(n<0){
n++;
console.log(n); //不执行
}
do{ } while() //先执行后判断(至少执行一次)
var n=0;
do{
n++;
console.log(n); // 1
}
while(n<0)
switch(选择循环)
switch(判断的值)
{
case “变量名1”:break;
case “变量名2”:break;
case “变量名3”:break;
case “变量名4”:break;
}
eg
var name="张三";
switch(name)
{
case "张三":alert("嘻嘻");break;
case "李四":alert("哈哈");break;
}
//嘻嘻
if else(逻辑选择结构)
var i=3;
if( i<5)
{
alert("太小啦")
}
else if(i>=5&&i<10)
{
alert("还可以")
}
else
{
alert("棒极啦")
} //太小啦
三 js事件的绑定
(直接元素绑定,代码里面直接书写)
【常用的事件:onclick, onmouseenter, onmouseleave(平面),onmouseout(空间垂直方向),onmouseover(悬停),onmousemove(移动),onfocus(获焦),onblur(失焦) 】
(1) 在html页面里面直接绑定
<div onclick="btn()"></div>
function btn() //事件调用函数
{
alert("haha")
}
(2)在代码中获取元素对象,添加点击事件,js里面的事件之前都有on
var oDiv=document.getElementsByTagName("div")[0];
oDiv.onmouseenter=function (){
alert("haha")
}
oDiv.onmouseleave=function (){
alert("xixi")
}
四 函数
(1)函数的定义
function 函数名称(){ }
声明函数
function oA(){ }
oA()
var oB=function( ){ }
oB ( )
对象自带属性的方法
var array={name:function( ){ } }
array.name( )
(2)函数的传参问题(简化代码 重利用)
注:(参数,参数类型,参数的个数都是自定义)
function Stu(id,name,sex,age)
{
document.write(id+"/"+name+"/"+sex+"/"+age)
}
Stu(2017,"张三","男","18")