js的基础内容


一.简介

1.1 联系与区别

  • HTML 定义了网页的内容

  • CSS 描述了网页的布局

  • JavaScript 网页的行为

1.2 用法

  • HTML中的脚本必须位于<script></script>标签之间;

  • 脚本可被放置在HTML页面的<body><head>部分中;

二.输出

2.1显示数据

  • window.alert() –弹出警告框

  • document.write() –将内容写到HTML文档中

  • innerHTML–写入到HTML元素中

  • console.log() –写入到浏览器的控制台

    注意:如果在文档已经加载完后执行docunment.write()会覆盖整个文档内容

document.write(Date());
window.alert(5 + 6);
document.getElementById("demo").innerHTML="xxxxx";
console.log(c);

三.语法

3.1 字面量

  • 一般固定值称为字面量;(数字字面量、字符串字面量、表达式字面量、数组字面量、对象字面量、函数字面量)

3.2 变量

  • 变量用于存储数据值;
  • js使用关键字var 来定义变量,使用等号来为变量赋值;
  • 变量必须以字母开头;
  • 未使用值来声明的变量。其值实际上是undefined;
  • var carname="Volvo"; var carname;执行之后,变量carname的值依然是”Volve”;

3.2语法

  • 语句用分号来分割;
  • 对字母大小写敏感;
  • js会忽略多余的空格;
  • 使用 \换行;

3.3数据类型

1.数据类型

在js中有5种不同的数据类型

  • 字符串(String);–使用索引访问每个字符(carname[2]);字符串长度(carname.length)
  • 数字(Number);
  • 布尔(Boolean);
  • 对象(Object);–访问对象属性(person.lastName;person[“lastName”])
  • 函数(function)

2种不包含任何之的数据类型

  • 空(Null);
  • 未定义(Undefined);

3种对象类型

  • 对象(Object);
  • Date
  • 数组(Array);

2.检测数据类型(typeof)

  • typeof [1,2.3] //返回object
  • `var person=null;typeof person`` //返回object
  • var person=undefined;typeof person //返回undefined

**3.类型转换

  • 转换为字符串 (123).toString();String(123)
  • 转换为数字 Number("12.114");

3.4 作用域

  • 函数体内定义:var name="xxxx"为局部变量;name="xxxx"-全局变量;(生命周期:函数执行完毕后销毁)
  • 函数体外定义:为全局变量;(生命周期:页面关闭后销毁)

3.5 循环

  • for–循环代码块一定的数量
  • for/in–循环遍历对象的属性–for(x in person)
  • while–当指定条件为true时循环代码块
  • do/while–同上

四.函数

4.1 函数参数

  • 函数显式参数在函数定义时列出;
  • 函数隐式参数在函数调用时传递给函数真正的值;
  • js函数定义时显式参数灭有指定数据类型。
  • js函数对隐式参数没有进行类型检测
  • js函数对隐式参数的个数没有进行检测;(若没有提供,则是undefined;)

4.2 Arguments对象

argument对象包含了函数调用的参数数组

x = sumAll(1, 123, 500, 115, 44, 88);

function sumAll() {
    var i, sum = 0;
    for (i = 0; i < arguments.length; i++) {
        sum += arguments[i];
    }
    return sum;
}

4.3 作为函数方法调用函数

两个预定义的函数方法:call()和apply();两个方法可用于调用函数,两个方法的第一个参数必须是对象本身
区别:call()是作为参数传入;apply()是作为一个数组传入

function myFunction(a, b) {
    return a * b;
}
myObject = myFunction.call(myObject, 10, 2);  

function myFunction(a, b) {
    return a * b;
}
myArray = [10, 2];
myObject = myFunction.apply(myObject, myArray); 

五.DOM

//改变HTML的内容
document.getElementById("p1").innerHTML="新文本!";

//改变HTML的属性
document.getElementById("image").src="landscape.jpg";

//改变HTML的样式
document.getElementById("p2").style.color="blue";
document.getElementById("p2").style.fontFamily="Arial";

添加事件的三种方式

//第一种
<script>
document.getElementById("myBtn").onclick=function(){displayDate()};
</script>

//第二种
/*
可以向元素中添加多个事件句柄,不会覆盖
*/
document.getElementById("myBtn").addEventListener("click", displayDate);
element.removeEventListener("mousemove", myFunction);

//第三种
<input type="text" id="fname" onchange="upperCase()">

六.BOM(Browser Object Model )-浏览器对象模型

-Window

/*
  确定浏览器窗口的尺寸
*/
window.innerHeight  //浏览器窗口的内部高度(包括滚动条)
window.innerWidth   //浏览器窗口的内部宽度(包括滚动条)

window.open()     //打开新窗口
window.close()    //关闭当前窗口
window.moveTo()   //移动当前窗口
window.resizeTo() //调整当前窗口的尺寸

-Window Screen

window.screen 对象包含有关用户屏幕的信息

screen.availWidth  //可用的屏幕宽度
screen.availHeight //可用的屏幕高度

-Window Location

window.location对象用于获取当前页面的地址(URL),并把浏览器重定向到新的页面


 window.locatin;  
 location.href; --返回整个URL
 location.hostname; --返回web主机的域名 
 location.pathname;--返回当前页面的路径和文件名
 location.port;  --返回web主机的端口
 location.protocol; --返回所使用的web协议

-Window History

window.history对象包含浏览器的历史

history.back();
history.forword();

-弹窗

1.警告框

window.alert("你好,我是一个警告框!"); –window可省略

2.确认框

window.confirm("按下按钮") –window可省略

    var x;
    var r=confirm("按下按钮!");
    if (r==true){
        x="你按下了\"确定\"按钮!";
    }
    else{
        x="你按下了\"取消\"按钮!";
    }
3.提示框

window.prompt("请输入你的名字","Harry Patter") –window可省略

-计时事件

js一个设定的时间间隔之后来执行代码,我们称之为计时事件

1.setInterval()与clearInterval()

setInterval()-间隔指定的毫秒数不停地执行指定的代码;
clearInterval()-用于停止setInterval()方法执行的函数代码;
实例:显示当前时间

var myVar=setInterval(function(){myTimer()},1000);

function myTimer()
{
    var d=new Date();
    var t=d.toLocaleTimeString();
    document.getElementById("demo").innerHTML=t;
}

function myStopFunction(){
    clearInterval(myVar);
}

2.setTimeout()与clearTimeout()enen enene

setTimeout() - 在指定的毫秒数后执行指定代码。

var myVar;
function myFunction(){
    myVar=setTimeout(function(){alert("Hello")},3000);
}
function myStopFunction(){
    clearTimeout(myVar);
}

文章作者: Rabbit
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Rabbit !
 上一篇
webpack 入门 webpack 入门
一、安装前提:安装Node.js最新版。 1.1本地安装i.安装最新版本npm install --save-dev webpackii.安装指定版本的webpacknpm install --save-dev webpack@<ve
2019-02-25
下一篇 
超炫的按钮 超炫的按钮
超炫的按钮代码css:<style> .button-css{ margin:200px 500px; width: 400px; position: relative;
2018-05-10
  目录