JavaScript笔记

一、JavaScipt的简介
           是基于对象的事件驱动的语言,应用于客服端

二、javascript与HTML的结合方式
第一种:使用标签

<script type="text/javascript">js代码;</script>


第二种:使用script标签,引入一个外部的js文件
1、创建一个js文件,写js代码
2、<script type="text/script" src="js文件路径"></script>
注意:使用第二种方式时,不会执行script标签里的代码


三、js的语法规则
1、javascript里的变量类型
重点:javascript里定义变量,对象都用var
          五个原始类型:
                   string:字符串类型
                   var str="abc";
                   number:数字类型
                   var num=123;
                   boolean:布尔类型
                   var b=true;
                   null:对象引用为空
                   var date=null;
                   undifined:定义的变量未赋值
                   var u;
                   typeof():获取当前变量类型


2、javascript里的语句
选择语句:if,switch(在java里1.7版本后才支持,javascrpit一直支持)
循环语句:while,do while,for
自增语句:i++,++i


3、javascript里的运算符
(1)js里不区分整数和小数
var a=123;
//alert(a/1000*1000);//java里为0,由于不区分小数整数,JavaScript为123


(2)js里的字符串相加是连接操作,相减时候执行减法运算操作
var str="123";
//alert(str+4);//执行字符串连接操作
//alert(str-4);//执行算术减法操作


(3)boolean类型,执行运算符操作时,false为0,true为1.
var b1=true;
var b2=false;
alert(b1+1);
alert(b2+1);
(4)==和===区别:==比较的是值,===比较的是值和类型。
var b="5";
if(b===5){ //当值为5,但类型不一致时不相等
alert(5);
}
else{
alert("other");
}
引入知识:直接在页面输出语句,可输出变量,值,html标签:

        document.wirte(“......”);


document.wirte("123");
document.write(a);
document.write("<hr/>");


5、javascript的数组
注意:1、广义上的数组不规定一定要为某一类型
     2、数组有个属性length,记录数组长度
第一种:var arr=[1,2,3]; var arr=[true,1,"a"];
第二种:使用Array对象
      var arr=new Array(5);//创建一个长度为5的数组
      var arr=new Array(1,2,3);//创建赋初值的数组,长度为3


6、javascript的函数
需要返回值的函数只需写return句子,参数表不需要写参数类型,只需要写参数名
第一种:function 函数名(参数列表){
函数体
返回值
}
第二种:匿名函数
var 函数名=function(参数列表){
函数体
返回值
}


7、全局变量和局部变量
全局变量:定义在<script>内,可以在所有js代码(即script里使用)里使用(作用域为整个js代码块)
局部变量:定义在函数内,只能在函数内使用。(作用域为定义函数)


8、Script标签放置位置:一般放在</body>后面,当需要获取input标签里的值时,不会出现错误


10、JavaScript里的常用对象
String对象 定义方式:var str="abc";
属性:length
方法:
(1)与HTML相关方法
bold():加粗
fontcolor():设置字体颜色
fontsize():设置字体大小
link("src"):将字符串设置为超链接,src为链接的地址
sub()和sup():下标和上标
(2)与java相似方法:
concat(str1,str2):连接俩个字符串
charAt(index):返回指定位置字符串
indexOf(str):返回字符串索引值
split(","):根据符号(默认为,)将字符串切割为字符串数组
replace(s1,s2):替代字符串(s2替代s1)
substr(n):返回从起始位置开始指定数目字符串
substring(begin,end):返回从begin到end的字符串
Array对象
属性:length
方法:
     concat():连接两个或更多的数组,并返回结果。
     join():把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
     push():向数组的末尾添加一个或更多元素,并返回新的长度。
     pop():删除并返回数组的最后一个元素
     reverse():扭转数组顺序
     sort():对数组进行排序
     shift():删除并返回数组的第一个元素
Date对象
创建一个Date对象默认为当前时间对象
方法:
Date():返回当日的日期和时间。(默认格式) 
toLocaleString():根据本地时间格式,把 Date 对象转换为字符串。 
getFullYear():获得当前对象的年。 
getMonth():获得当前对象的月(0 ~ 11),此时需加1。 
getDate():获得当前对象的日 (1 ~ 31)。 
getDay():获得当前对象的周(0 ~ 6)。 
getHours() 返回 Date 对象的小时 (0 ~ 23)。 
getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。 
getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。 


getTime() 返回 1970 年 1 月 1 日至今的毫秒数。(实时更新) 
应用场景:使用毫秒数处理缓存效果(不有缓存)
http://www.baidu.com?毫秒数
Math对象
和java一样,都是静态方法,使用方法:Math.方法名()
方法:
ceil(x) 对数进行上舍入。 
floor(x) 对数进行下舍入。 
round(x):四舍五入。
random() 返回 0 ~ 1 之间的随机数(伪随机数)。 
得到0-9随机数Math.floor(Math.random()*10)。


11、javascript的全局函数
eval(string):用来执行js代码,string为要执行的代码。
encodeURI():对字符串进行编码。 
decodeURI();对字符串进行解码。
isNaN() 检查某个值是否是数字。 
Number() 把对象的值转换为数字。 
parseFloat() 解析一个字符串并返回一个浮点数。 
parseInt() 解析一个字符串并返回一个整数。 
String() 把对象的值转换为字符串。 




12、javascript里的模拟重载
js里存在重载吗?
不存在,会自动调用最后一个函数。
但可以通过arguments数组模拟重载


arguments:保存了函数的参数列表里的参数


四、javascript的BOM对象

window对象:顶层对象,所有DOM对象都可以用window.对象名.属性(方法)来使用,如window.loaction.href
方法:
alert():弹出一个框,显示内容
confirm():确认框,显示内容,并返回一个值(确定返回true ,取消返回false)
prompt(text,defaulttext):输入时的对话框,text为显示内容,defaulttext为对话框默认内容
open():打开一个新浏览器窗口
open("新窗口的地址url",",","窗口信息(如width=200,height=100)")
close():关闭窗口(浏览器兼容性较差)

定时器方法:
setInterval("js代码",毫秒数):每过指定毫秒数执行一次js代码,返回一个对象
1秒=1000毫秒
window.setInterval("alert(123)",3000);//表示每三秒执行一次alert方法,执行次数无穷


setTimeout("js代码",毫秒数):过了指定毫秒数执行一次js代码,返回一个对象
window.setTimeout("alert(123)",3000);//表示在三秒后执行一次alert方法,执行次数为1


clearInterval("对象名"):通过对象名清除setInterval()设置的定时器
clearTimeout("对象名"):清楚setTimeout()设置的定时器


案例:通过俩个按钮触发关闭设置定时器
案例:实现一个实时的时间显示器

navigator对象:获取客户机信息(浏览器信息)
navigator.appName():返回浏览器的名称
screen:获取屏幕信息
screen.屏幕的宽
location:包含有关当前 URL 的信息
href:设置或返回完整的 URL
hictory:包含访问过的url
back() 加载 history 列表中的前一个 URL。 
forward() 加载 history 列表中的下一个 URL。

原文地址:https://www.cnblogs.com/MrQlyn/p/10236355.html