简易学习JavaScrip

一、什么是JavaScript

JavaScript是不用编译就能运行的解释型语言,所以它要寄生在html内放在服务器上,随网络传输到客户端,在浏览器里运行。

JavaScript能实现网页的动态效果,让网页能与用户交互。

JavaScript的组成有以下几部分:
ECMAScript:基本语法规范;
BOM:Browser Object Model,浏览器对象模型。操作浏览器
DOM:Document Object Model,文档对象模型。操作网页

二、ECMAScript-基本语法规则

接下来咱们在编译语言的基础上来学习一下,JavaScrip的数据类型运算符流程控制函数事件

1、数据类型

数据类型描述示例
number数字类型1,2,3.14
boolean布尔类型true,false
string字符串类型“hello world”
object对象类型new Date(),null
undefined未定义类型undefined

2、运算符

有这些个:
{+ ,- ,* ,/, > ,<, >= ,<=, ++ ,-- ,+=, -=,*= ,/=, &&, ||, ! ==, ===, !=, !==}
跟java的运算符也差不多,但因为JavaScrip是解释型语言,比宽松,所以有以下要注意有地方:

(- * / ) 算术符运算描述
如果是数字正常运算
如果不是数字js会尝试转换成数字再运算
如果转换不成功结果是NaN
如果除数是0结果是Infinity
逻辑运算描述
== 和 !=比较的是值
== 和 !=比较的是值

3、流程控制

有这些个:
{if,if else,for,while,swtich}
和Java的差不多,主要别是个if判断要注意一下:

判断条件结果
false ,0 ,null ,undefined ,""为false,其它为true

4、函数

在JavaScript中,函数分为普通函数匿名函数

普通函数—语法

//1.定义 一个普通函数
function 函数名(形参1,  形参2, ...){
    //函数体
    //如果需要返回值,就return;否则就不return
}
//2.调用 一个普通函数
var result = 函数名(实参1,实参2, ...);

匿名函数—语法

//定义:
function(形参1,  形参2, ...){
    //函数体
    //如果需要返回值,就return;否则就不return
}

5、事件

事件源:被监听的对象(哪个对象上发生的动作或者状态变化),通常是html标签。
事件(监听器):用于监听事件源状态变化的组件,由JavaScript提供的不同的事件(监听器),用于监听不同的状态变化。
响应行为:监听到事件源状态变化、或者发生了动作,要执行的代码。

事件描述
onclick监听鼠标单击
ondbclick监听鼠标双击
onsubmit监听表单提交
onchange监听加载内容改变
onload监听加载完成
onfocus监听获取焦点(光标)
onblur监听失去焦点(光标)
onkeydown监听键盘按键按下
onkeyup监听键盘按键弹起
onkeypress监听键盘按键按下或按住
onmousedown监听鼠标按键按下
onmouseup监听鼠标按键弹起
onmouseover监听鼠标移入
onmouseout监听鼠标移出
onmousemove监听鼠标移动

使用事件示例

//使用onclick事件
<input type="button" value="按钮" onclick="show()"/>
<script>
    //定义响应行为的函数
    function show(){
        alert();
    }   
</script>

三、BOM—浏览器对象模型

用JavaScript代码调用bom对象,可以操作浏览器。

bom对象描述调用
window浏览器窗口对象window
location浏览器地址对象,可进行跳转window.location或location
history浏览器历史记录对象,可进行历史记录切换window.history
screen浏览器的屏幕显示信息对象window.screen
navigator浏览器信息对象,可获取浏览器的内核、版本等信息window.navigator

1、window对象的API

弹窗描述
alert(string)普通弹窗
confirm(string)确认弹窗
prompt(string)输入弹窗
定时器描述
setInterval(fn,ms)多次定时器,fn为函数,ms为毫秒值
setTimeout(fn,ms)一次定时器,fn为函数,ms为毫秒值
clearInterval(id)清除多次定时器,id为多次定时器对象
clearTimeout(id)清除一次定时器,id为多次定时器对象

打开新页面:window.open(“地址”)

2、location对象的API

API描述
href获取/设置网址
reload()刷新当前页面

3、history对象的API

API描述
forward()前进一步
back()后退一步
go(n)切换n步

screen对象和navigotor对象:略

四、DOM—文档对象模型

dom树:网页被加载到内存中后,网页上所有的标签、属性、文本全部都转换成节点对象,然后按照层级结构形成一个树形结构,这就是dom树。
也就是说只有dom树上的内容才会生效。

1、操作标签的API

获取标签
用document对象调用

方法说明返回值
getElementById(“标签id属性”)通过id获取标签对象一个标签对象
getElementByName(“标签name属性”)通过name获取标签对象一个数组
getElementByTagName(“标签名称”)通过标签名称获取标签对象一个数组
getElementByClassName(“标签class属性”)通过class获取标签对象一个数组

创建标签

document.createElement("标签名称");

创建出来的标签不会立即生效,必须要插入到dom树里

插入标签

父标签对象.appendChild(子标签对象)

删除标签

标签对象.remove()

操作标签体

//获取标签体
var html=标签对象.innerHTML
//设置标签体
标签对象.innerHTML="HTML代码";

2、操作属性的API

获取属性值

//方法1
var v=标签对象.属性名称;
//方法2
var v=标签对象.getAttribute(属性名);

设置属性值

//方法1
标签对象.属性名称=;
//方法2
标签对象.setAttribute(属性名,);

删除属性

标签对象.removeAttribute(属性名);

五、引用数据类型

相当于Java的内置类,js有9个内置类。
在这简列一下:
{Array,Boolean,Date,Math,Number,String,RegExp,Functions}

1、Array数组

创建

//创建空数组对象
var arr=new Array();

//指定长度创建数组对象
var arr=new Array(number);

//添加元素创建数组对象
var arr=new Array(Element1,Element2...);

//直接添加元素创建数组对象
var arr=[Element1,Element2...);

属性
length 获取数组长度

//示例
var len=arr.length;

2、Date日期

创建

创建日期对象描述
var date=new Date();获取当前时间对象
var date=new Date(年,月,日);获取指定日期对象,起始月份为0
var date=new Date(年,月,日,时,分,秒);获取指定时间对象,起始月份为0

常用方法
toLocaleString()—转换成本地日期格式字符串
getTime()—获取毫秒值
setTime()—以毫秒值设置日期对象

//转换成本地日期格式字符串
var str=date.toLocaleString();

//获取毫秒值
var ms=date.getTime();

//以毫秒值设置日期对象
date.setTime(毫秒值);

3、Math数学工具

ceil()—向上取整
floor()—向下取整
round()—四舍五入
random()—求随机数 [0,1)

//向上取整
var num=Math.ceil(3.14)//4

//向下取整
var num=Math.floor(3.14)//3

//四舍五入
var num=Math.round(3.5)//5

//求随机数
var num=Math.random() //0到1的数,包头不包尾

//求1到100的随机数
var num=Math.floor(Math.random()*100)+1;

4、RegExp正则表达式

这就比较有难度了,但一般用的时候都会去参考网上现成的表达式。原因无非是背完了会长时间,然后就,只能找现成的了。
创建

//直接量方式
var reg1 = /正则表达式/;  
  
//对象形式
var reg2 = new RegExp("正则表达式");

方法
test()—检索字符串的指定的值

var isOk = reg.test("字符串");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值