JavaScript(Ⅰ)

JavaScript诞生于1995年,JavaScript它不再像html是一种标记语言,而是一种轻量级的编程语言,它可以插入html页面中,这门语言可由浏览器执行。
Ⅰ 向HTML中嵌入JavaScript的方法

(1)用<script>元素直接在HTML页面中嵌入JavaScript代码

例:

<script>
    alert("HelloWorld!");/*alert表示一个弹框*/
</script>

效果展示:
这里写图片描述

(2)用<script>元素链接外部的javascript文件


index.html

<body>
<script type="text/javascript" src="index.js"></script>
</body>

index.js

alert("HelloWorld!");

效果展示:
这里写图片描述
注意:在链接外部的javascript的时候,我们如果把引用的代码放在head标签中,这样会把外部链接的文件房间一起(包括CSS文件),但是这样一来,当打开一个页面的时候,页面先要加载完所有的外部文件才显示页面,速度相对来说较慢。一般情况下,为了页面加载的速度快一些,我们将链接外部JavaScript的链接代码放在body中,这样就可以页面显示以后,再加载js文件。

Ⅱ 语法
A:变量名、函数名、操作符等等区分大小写,比如Test和test,它们是不同的两个的。
B:标识符(变量名、函数名、属性名等等)一般采用驼峰式,也就是第一个字母小写,剩下的每个单词的首字母大写。
C:注释分为://(单行注释)和/**/(多行注释)。
D:语句每一句的结束用分号结束,虽然不屑分号也可以,但是建议都写分号。

Ⅲ 数据类型
typeof操作符:用来检测变量的类型的,它的返回值有undefined、boolean、string、number、object、function。

Ⅳ 变量
定义一个变量用var

var a;/*表示申请了一个不知道类型的变量*/
var b=2;/*表示申请了一个number类型的变量*/
var c="123adb";/*表示申请了一个string类型的变量*/
var d=[1,2,3,4,5];/*表示申请了一个数组变量*/
var e={AA:1,BB:2,CC:3}/*表示申请了一个object类型变量*/
var m=null;/*表示申请了一个object类型的变量*/
var f=true;/*表示申请了一个boolean类型的变量*/

Ⅴ 数据类型之间的转换
转换成字符串:除了null和undefined没有toString()方法以外,其他类型的的变量都可以用此方法转换成string类型。一般该方法没有参数,默认为十进制如果添加了参数就表示按几进制转换。

var a=11;
var b=a.toString();/*十进制*/
var b=a.toString(2);/*二进制*/
var b=a.toString(8);/*八进制*/
var b=a.toString(16);/*十六进制*/

数值转换:有三个函数可以把非数字类型转换成数字类型Number()、parseInt()、parsrFloat().

转换规则:
Boolean值,truefalse分别被转换成01;
如果是数字值,只是简单的传入和返回;
如果是null值,则返回0;
如果是undefined,返回NaN;
如果是字符串:
    如果字符串中只包含数字(包括数字前面的正负号),则将其转换成十进制的数,即“1”会被转换成1、“123”会被转换成123、“011”会被转换成11(前导零会被忽略)。
    如果字符串包含有效的浮点格式,如"1.1",则将其转换为对应的浮点数值(同样前导零也会被忽略)。
    如果字符串包含有效的十六进制格式,例如“0xf”,则将其转换成相同大小的十进制数。
    如果字符串是空的,则将其转换成数值0。
    如果是字符串中除了上述格式之外的字符,则将其转换成NaN。
如果是对象,则调用对象的valueOf()方法,然后依照前面的转换方式返回相应的值,如果转换的结果是NaN,则调用toString()的方法然后再依次按照上述规则转换返回的字符串值。

Ⅵ 运算符
算术运算符:

+       加
-       减
*       乘
/       除
%       取余
++      自加
--      自减法

赋值运算符:

运算符     解释       
=          赋值
+=        x+=y等同于x=x+y;  
-=        x-=y等同于x=x-y;
*=        x*=y等同于x=x*y;
/=        x/=y等同于x=x/y;
%=        x%=y等同于x=x%y; 

连接运算符:

+        连接两个字符串

比较运算符:

==          判断是否相等
===         绝对相等(值和类型都相等)
!=          判断是否不等
>           判断符号左边是否大于右边
<           判断符号右边是否小于右边
>=          大于或等于
<=          小于或等于

逻辑运算符:

&&          符号两边条件同时成立才为真
||          符号两边有一个为真即为真
!           非

条件运算符:

a?b:c        若a为真则结果为b,若a为假则结果为c

Ⅶ 语句
if 语句

if(条件)
{
    条件为真时执行;
}

if else语句:‘

if(条件)
{
    条件为真时执行;
}
else
{
    条件为假时执行;
}

if else if else语句:

if(条件1){
    条件1为真时执行;
}
else (条件2){
    条件2为真时执行;
}
else (条件3){
    条件3为真时执行;
}else{
    条件1条件2条件3都为假时执行;
}

switch 语句

switch(n){
    case 1:
        执行代码块1break;
    case 2:
        执行代码块2break;
    default:
        n与case1和case2执行代码不同时执行此语句;
}

for 语句

for(语句1;语句2; 语句3){
    被执行的代码;
}

while 语句

while(条件){
    被执行的语句;
}

do-while 语句

do{
    被执行的语句;
}while(条件);
/*此语句先执行一次语句,再进行条件的判断*/

break 语句

for(i=0; i<5; i++){
    if(i==3){
        break;
    }
    x+=3;
}
/*表示的是跳出当前循环,所以当i==3时跳出循环,不再执行i=4*/

continue 语句

for(i=0; i<5; i++){
    if(i==3){
        continue;
    }
    x+=3;
}
/*表示跳出此次循环,执行下一次循环,当i==3时跳出去,接着执行i=4*/

Ⅷ 事件

onmouseover   /*当鼠标放上去的时候触发该事件*/
onmouseout    /*当鼠标离开的时候触发该事件*/
onmousedown   /*当鼠标按下的时候触发该事件*/
onmousemove   /*当鼠标移动的时候触发该事件*/
onkeyup       /*当键盘松开的的时候触发该事件*/
onkeydown     /*当键盘按下的时候触发该事件*/
onclick       /*当鼠标点击的时候触发该事件*/
onfocus       /*获取焦点的时候触发该事件*/
onblur        /*失去焦点的时候触发该事件*/

注意:onclick和onmousedown的区别:onmousedown是鼠标按键按下去的瞬间触发。onclick是鼠标点击弹起之后触发的事件。
Ⅸ 对象
对象只是带有属性和方法的特殊数据类型。
访问对象的属性:objectNmae.propertyName

var msg="Hello World!";
var a=msg.length;
/*这两行代码的意思就是定义了一个字符串变量msg,msg用它的属性length来获取字符串的长度(该属性在获取字符串的长度时候,不会忽略空格),并将其复制给a*/

访问对象的方法:objectName.methodName()

var msg="Hello";
var x=msg.toUpperCase();
/*这两行代码的意思就是定义了一个字符串变量msg,现在调用String对象的toUpperCase()方法来将其转换成大写,并赋值给x*/

创建对象的方法

1.定义并创建对象的实例

a=new Object();
a.name="Bob";
a.age=19;
a.sex="girl";
等同于:
a={name:"Bob",age:19,sex:"girl"};

2.使用函数来定义对象,然后创建新的对象实例(使用函数构造器)。

function a(name,age,sex){
    this.name=name;
    this.age=age;
    this.sex=sex;
}

创建JavaScript对象的实例

有了对象构造器,就可以创建新的对象实例
var f=new a("zhangsan",90,"boy");
var m=new a("lisi",87,"girl");

把属性添加到JavaScript

为对象a添加属性shool

a.shool="******大学";
w=a.shool;

输出w的结果就是:*****大学

把方法添加到JavaScript当中

function a(name,age,sex){
this.name=name;
this.age=age;
this.sex=sex;
this.changeAge=changeAge;
function changeAge(Age){
this.age=Age;
}
}

/*这段代码的意思就是在对象中添加对象的方法,changeAge()函数Age的值赋给对象a的属性age*/

常用对象的方法:

Math对象:
    Math.round();    /*四舍五入返回整数*/
    Math.PI;         /*Π*/
    Math.random();   /*产生随机数,产生的随机数只能在0~1之间*/
    Math.ceil();     /*向上舍入*/
    Math.floor();    /*向下舍入*/

Number对象:
    Number.toString();      /*转换成字符串类型*/
    Number.Infinity;        /*这不是一个属性,而是一个方法,表示的是无穷大*/
    Number.toFixed(n);      /*保留小数位数,n是大于0的整数,表示小数位数的个数*/

Ⅹ 获取元素的方法
首先来展示一个例子:

<body>
<p class="p"><a href=""></a><span>Hello World</span></p>
<input type="text" value="love" class="name"><br>
<script>
    var a=document.getElementsByClassName("p")[0].innerText;  
    var b=document.getElementsByClassName("p")[0].innerHTML;  
    var c=document.getElementsByClassName("name")[0].value;      
    document.write("a的值为:"+a+"<br>");
    document.write("b的值为:"+b+"<br>");
    document.write("c的值为:"+c);
    alert("a的值为:"+a+"   "+"b的值为:"+b+"   "+"c的值为:"+c);
</script>
</body>

结果展示:
这里写图片描述
这里写图片描述
结果可以看出document和alert输出结果并不相同,那么innerText和innerHTML在document和alert中由什么不同呢?
首先在document中:为什么innerText和innerHTML输出结果一样呢?document.write()是以文档流的形式输出,innerHTML读出来的标签被解析掉了以后就剩下文本内容,这样使得二者的输出结果相同。
接下俩在alert中:由于alert不能解析标签,所以innerHTML读取出来的标签就会被输出,innerText只输出文本内容。
由此说明一点innerText和innerHTML的区别在于:innerText只读取文本内容,而innerHTML读取的是该标签下的所有内容(包括文本内容和标签)。

获取到一个标签的方法有那些呢?

document.getElementsByClassName("className")[索引值].innerText/innerText/value;        /*通过类名读取*/
    document.getElementsByTagName("TagName")[索引值].innerText/innerText/value;            /*通过标签名读取*/
    document.getElementById("idName")[索引值].innerText/innerText/value;                   /*通过id名读取,由于一个页面中只会出现一个id,所以是Element*/

Ⅹ+Ⅰ 函数的定义

格式一:

<body>
<p <!--要触发的事件例如:-->onclick="show()"></p>
<script>
    function show(){
        函数内容;
    }
</script>
</body>

格式二:
<body>
<p></p>
<script>
var a=document.getElementsByTagName("p")[0];
    a.onclick=function(){
        this.style.backgroundColor="yellow";
    }
</script>
</body>

综合小案例:
index.html

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" href="index.css">
</head>
<body>
<p><span>First</span></p>
<p class="lala" onmouseover="show()"><span>Second</span></p>
<p><span>Third</span></p>
<script>
    var a=document.getElementsByTagName("p")[0];
    a.onclick=function(){
        this.style.backgroundColor="yellow";
    }
    function show(){
        document.getElementsByClassName("lala")[0].innerText="Last";
    }
    var m=document.getElementsByTagName("p")[2];
    m.onmouseout=function(){
        this.style.width="200px";
    }
    var n=document.getElementsByTagName("p");
    for(var i=0; i< n.length; i++){
        n[i].onmousemove=function(){
            this.style.fontSize="25px";
        }
    }
    document.write("<table style='border:2px solid red;width:1200px'>");
    for(var i=1;i<=9;i++){
        document.write("<tr>")
        for(var j=1;j<=i;j++){
            document.write("<td style='border:2px solid red;width:100px'>")
            document.write(i+"*"+j+"="+i*j+"    ");
            document.write("</td>")
        }
        document.write("</tr>")
    }
    document.write("</table>");
</script>
</body>
</html>

index.css

p{
    height:100px;
    width:100px;
    margin:0 10px;
    background:red;
    float:left;
}

效果展示:
事件触发前:
这里写图片描述
事件触发后:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/zhanghuali0210/article/details/78722036