JavaScript基础

JS的用法;数据类型;关系运算符;js中的条件表达式;JavaScript的对象;BOM与DOM

-------------------------------------------------------------------------------------------------------------------------

JavaScript是直接嵌入在html页面中,由浏览器解释执行的脚本语言,具有与Java语言类似的语法。

其特点:
 - 解释执行:不编译,由浏览器内置的JavaScript引擎直接解释,并逐行执行。
 - 基于对象:内置大量对象。
------------------------------------------------------------------------------------------
JS的用法:
一.事件定义式:在定义事件时直接调用js。
例    <input type="button" value="A" onclick="alert('苍老师');"/>

二.嵌入式:在script标签中写js。(该标签可以写在页面的任何位置,但是通常习惯写在head里。)
例    <script>
    //1.以function开头。2.不需要声明返回类型。3.函数名(),括号中可以有参数。
    function f2(){
        //js不区分单引号与双引号
        alert("传奇哥");
    }
    </script>

三.文件调用式:在html页面的<head>中引用外部的.js文件。
1.将js代码写在一个单独的文件中,并保存位后缀为js的文件。
2.在<head>中添加<script>标签
3.设置<script>标签的“src”属性,指定js文件的url。
例    <script src="x.js">
    <!-- 1.script标签中不能既写js又引入js,只能二选一。
         2.引入js相当于将js复制到此处。
    -->
    </script>
--------------------------------------------------------------------------------------------

JavaScript基础_第1张图片
数据类型:
 - JavaScript的变量在声明时不需要指定数据类型。
 - 但是变量引用的数据拥有数据类型。

一.数据类型的隐式转换:不同数据类型在计算过程中会自动转换:
1. 数字+字符串:数字转换为字符串。
2. 数字+布尔值:true转换为1,false转换为0.
3. 字符串+布尔值:布尔值转换为字符串true或false。
4. 布尔值加布尔值:布尔值转换为数值1或0.
例    var str= "hello";
    var num = 3.14;
    var bol = true;
    console.log(str+num);//hello3.14
    console.log(str+bol);//hellotrue    
    console.log(num+bol);//4.14
    console.log(bl+bol);//2

二.数据类型的转换函数:
1. toString:所有数据类型均可转换为String类型。
2. parseInt:强制转换为整数,不能转换则返回NaN。 (not a number)
例    parseInt("5.5");返回5
    parseInt(5.12);返回5,所有也可以作为取整函数。
3. parseFloat:强制转换成浮点数,不能转换则返回NaN。
4. typeof:查询当前类型,返回string/number/boolean/object/function/undefined
5. isNaN:(is not a number ?)被检测表达式不是数则返回true,否则返回false。

三.特殊的数据类型:
1. null:表示无值或者无对象,可以通过给一个变量赋值null来清除变量的内容。
2. undefined:
 - 声明了变量但从未赋值。
 - 对象属性不存在。
----------------------------------------------------------------------------------------
关系运算符:
1. 全等:===    若两个数的类型和数值都相同则返回true,否则返回false。
2.不全等:!==  若两个数的类型或者数值相同则返回true,否则返回false。
例    var m = "1";
    var n = 1;
    console.log(m===n);//false
    console.log(m!==n);//true
------------------------------------------------------------------------------------------
js中的条件表达式:
 -js中的条件表达式可以是任意表达式,即可以返回任意的类型的值,任何类型的值都对于一种布尔值。
JavaScript基础_第2张图片
------------------------------------------------------------------------------------------
JavaScript对象:JavaScript对象是JavaScript中最重要的API
JavaScript对象包含:
1.内置对象:String/Number/Boolean/Array/Math/Date/RegExp/Function等。
2.外部对象:
 - window对象:
 - dom对象:
3.自定义对象:
-------------------------------------------------------------------------------------------
内置对象:
一.String对象:
1.创建:var str = "xxx";  或者  var str = new String("xxx");
2.属性:
 - 长度:str.length
3. 常用方法:
 - 大小写转换:str.toLoweCase()/toUpperCase();
 - 返回指定位置的字符:str.charAt(index);    //下表从零开始
 - 返回指定位置的字符的Unicode编码:str.charCodeAt(index);
 - 查询指定字符串:str.indexOf(findstr,[index]);str.lastIndexOf(findstr,[index]);
    findstr是要查找的字符串,index是开始查找的位置索引,没找到返回-1.
 - 获取子字符串:str.substring(start,[end]);
    start是开始位置,end是结束位置加1,可以省略,省略则截取到最后。
 - 替换字符串:str.replace(findstr,tostr);
 - 切分字符串:str.split(btstr,[howmany])

二.Number对象:
 - toFixed(num):转换为字符串,并保留小数点后一定位数。多余则四舍五入,不足补零。

三.数组对象:
1.通常的创建方式:
 - 已知数据时:var a1 = [1,true,"小花"];
 - 未知数据时:    var a2 = new Array();
        a2.push(2);
        a2.push("小花");
        a2.push(false);
2.属性:length,长度是可变的。
3.方法:
 - 反向数组:x.reverse() 改变数组x中的数值顺序。
 - 排序:默认的排序是按照string排序,可以自定义排序方式:
例    var a4 = [1,2,3,23,42,1,43,5,2];
    a4.sort(function(a,b){return a-b;});

四.Math对象:无需创建就可以直接把Math作为对象使用,可以调用其所有属性和方法。
    如:Math.PI、Math.max、Math.round()、Math.rendom()等

五.Date对象:
1. 创建:var now = new Date(); var time = new Date("2008/08/08 08:08:08");
2. 方法:
 - 读写时间毫秒数:getTime(), setTime();
 - 读写分量:getFullYear()、getDay()、getDate()以及setDate()等。
 - 转换为字符串:toString()、toLocaleTimeString()、toLocaleDateString();
例    var d1 = new Date();
    var d2 = new Date("2015/04/06 10:20:30");
    console.log(d1.toLocaleDateString());//2016/5/6 
    console.log(d1.toLocaleTimeString());//上午12:02:29 
    console.log(d2.toLocaleDateString());//2015/4/6 
    console.log(d2.toLocaleTimeString());//上午10:20:30 

    d1.setFullYear(2015);
    console.log(d1.getFullYear());//2015 
    console.log(d1.getMonth());//4

六.正则表达式RegExp对象:
1.创建:var reg = /pattern/flags;  var reg = new RegExp("pattern",["flags"]);
    flags标识有:g 匹配为表示全局模式 、 i  匹配时忽略大小写检测

2常用方法:
 - reg.test(string):检索字符串中指定的值,返回true或false
 - reg.exec(string):检索字符串中指定的值,返回找到的值。
 - reg.replace(regexp,tostr):返回替换后的结果。
 - reg.match(regexp):返回匹配字符串的数组。
 - reg.search(regexp):返回匹配字符串的首字母位置索引。

七.Function对象:js中的函数就是Function对象。
1. 函数名就是指向Function对象的引用,使用函数名可以访问函数对象。
2. 函数默认返回undefined,可以使用return返回具体值。
3. js函数没有重载,调用时只要函数名一样,无论传入多少个参数,调用的都是同一个函数。
   - 所有的参数传递给arguments数组对象。
   - argument是一种特殊对象,在函数代码中表示函数的参数数组,可以使用arguments访问所有参数。
   - arguments.length:函数的参数个数。
   - arguments[i]:第i个参数。 
4.创建匿名函数:var func = Function(arg1,...,argN){}
5.全局函数:praseInt/parseFloat/isNaN/eval
 - eval:用于计算表达式字符串,或则用于执行字符串中的JavaScript代码。
    如果参数中没有合法的表达式和语句,则抛出异常。
-------------------------------------------------------------------------------------------
JavaScript基础_第3张图片
外部对象:
一.BOM(browser object model):浏览器对象模型,用来访问和操纵浏览器窗口。
二.DOM(document object model):文档对象模型,用来操作文档。
    - 定义了访问和操纵HTML文档的标准方法。
    - 应用程序通过对DOM树的操作,来实现对HTML文档数据的操作。
三.window对象:
1.表示浏览器窗口,所有JavaScript全局对象、函数以及变量均自动成文window对象成员。
2.常用属性:
 - document:窗口显示的HTML文档对象。
 - history:浏览过窗口的历史记录。
 - location:窗口文件地址对象。
 - screen:当前屏幕对象。
 - navigator:浏览器相关信息。
3.常用方法:
 - alert(str):提示对话框,显示str字符串的内容。
 - confirm(str):确认对话框,显示str字符串的内容,按确定返回true,其他操作返回false。
 - 定时器:
    1.周期性定时器: 
    - 启动:var tId = setInterval(exp,time):周期性触发代码。
    - exp:执行语句。    - time:事件周期,单位为毫秒。
    - 返回已经启动的定时器对象。
    - 停止:clearInterval(tId)
例    var index = 1;
    var id = setInterval(function(){
        console.log(index++);
        if(index==6){
            clearInterval(id);
        }
    },1000);
    2.一次性定时器:
    - 启动:var id = setTimeout(fun.N);
    - 停止:clearTimeout(id);fun执行完成后自动停止或在小于N毫秒时可以提前手动停止。
例    var id2 = setTimeout(function(){
        console.log("ok!");
    },3000);
    clearTimeout(id2);

4.screen对象:包含有关客户端显示屏的信息,常用于获取屏幕的分辨率和色彩。
 - 常用属性:总宽高:screen.width/height
         可用宽高:screen.availWidth/availHeight

5.history对象:包含用户(在浏览器窗口中)访问过的url。
 - length属性:浏览器历史列表中的url数量
 - 方法:
    1.history.forward():等同于点击“前进”按钮。
    2.history.back():等同于点击“后退”按钮
    3.history.go(-2):等同于点击两次“后退”按钮。

6.location对象:包含有关当前url的信息,常用于获取和改变当前浏览的网址。
 - href属性:当前窗口正在浏览的网址地址。
例    修改页面地址栏: location.href="http://www.tmooc.cn";
 - 方法:reload():重新载入当前网址,等同按下刷新按钮。

7.navigator对象:包含有关浏览器的信息,常用于获取客户端浏览器和操作系统信息。
如    navigator.userAgent:用户代理。

你可能感兴趣的:(JavaScript基础)