JavaScript初级

JavaScript

事件驱动型语言

事件:click,focus,select,submit等

事件句柄:onclick,onfocus,onselect,onsubmit等

ECMAScript:JS的核心语法标准

DOM编程和BOM编程

【在网页的控制台使用:console.log(xxx)输出数据,类似java的System.out.println(xxx);】

【source可以对代码DEBUG】

1、页面嵌入JS的三种方法

1.1标签直接使用
<input type="button" onclick="alert('弹窗')"/>
1.2脚本块

位置随意

<script>
    alert("弹窗");
    alert('弹窗')</script>
1.3引入外部JS文件

script标签必须成对书写

<script src="javascript/xs.js"></script>

2、数据类型

var 声明变量【ES6的局部变量声明:let i】
=		//赋值
==		//类型不一样,值一样,也会判断为true
===		//绝对等于,即比较值,也比较数据类型
Undefined和Null

undifined:只有一个值“underfined”,当变量声明后未赋值时,默认的赋值【未定义】

null:空

Number
所有的数字
NaN			//Not a Number
Infinity	//无穷大
String
var a = "abc";
var b = 'abc';
var c = new String("abc");
//属性
a.length;
//函数
a.substr(开始下标,截取个数);
a.substring(开始下标,结束下标)//截取字符串,不包含结束下标
Boolean
true|false
数组
var arr = [1,2,3,a,b,abc,null,true];
arr.length;
arr.indexof(2);
arr.slice(3);//截取数组,从下标3开始
arr.slice(1,3);//截取下标1-3的数组,不包括下标3

arr.push(xx);//末尾添加元素
arr.pop();//末尾删除一个元素
arr.unshift(xxx);//头部添加元素
arr.shift();//头部删除一个元素

arr.reverse();//反转数组
arr.sort();//排序

arr.join("-");//拼接,数组元素之间插入符号“-”
对象
var obj = {
	name : xxx,
	age : 123
}
Set和Map

【ES6】

var map = new Map([['tom',11],['jack',22]]);
map.get('tom');

3、严格检查格式

ES6环境下

<script>
    'use strict';
	//你的代码
</script>

4、遍历、迭代

for(let i of arr)
    

5、函数

//定义函数的两种方式
function a(x){
}

var a = function(x){
}

获取函数中的参数

var a = function(x){
    arguments.length;//【js对传参不敏感,传进多个参数也不会报错】argument是一个数组,存储的是传递进函数的参数
}

常量

const PI = '3.14';

6、内部对象

日期Date
var now = new Date();
now.getFullYear();		//年
now.getMonth();			//月	0-11
now.getDate();			//日
now.getDay();			//星期几
...
now.getTime();			//从1970年至今的毫秒数

7、Json字符串

Json:标准的、轻量级的数据交换格式,体积小,容易解析

var people = {name : "xxx",age : "23";sex : "男"}
//var arr = [{},{},{}]
//js对象【或者数组】转换成Json字符串{"name":"xxx","age":"23","sex":"男"}
var jasonObj = JSON.stringify(people);

//Json字符串转换成js对象【或者数组】:parse( '{"name":"xxx","age":"23","sex":"男"}' );
var obj = parse(jsonObj);

8、操作BOM对象

BOM:浏览器对象模型

window:代表当前浏览器窗口

navigator:当前浏览器【不常用】

navigator.appName
navigator.appVersion
navigator.userAgent
navigator.platform

screen:代表电脑屏幕对象

loaction:当前页浏览器URL

location.reload();//刷新网页
location.assign('网页地址')//更改URL,跳转到‘网页地址’

document:当前页面

document.title="xxx";//将网页的title设置为”xxx“

获取具体的标签节点

windiw.document.getElementById('');

获得cookie信息

document.cookie

history:操作网页,代表浏览器历史记录

history.back();//返回
history.forword();//前进

9、操作DOM对象

DOM:文档对象模型

浏览器网页就是一个DOM树

  • 更新:更新DOM节点
  • 遍历:得到DOM节点
  • 删除:删除DOM节点
  • 添加:添加新的DOM节点
9.1 获得DOM节点【基本选择器】
var a1 = document.getElementById('');		//通过ID获得
var a1 = document.getElementsByClassName('');	//通过类名获得
var a1 = document.getElementsByTagName('');	//通过标签名获得

//通过父节点获得子节点
var father = document.getElementById('');
var childrens = father.children;
var first = father.firstChild;
var last = father.lastChild;

//通过子节点获得父节点
var f = a1.parentElement;
9.2 更新DOM节点
//操作文本【会覆盖节点内原来的数据】
a1.innerText='';//修改标签内文本
a1.innerHTML='';//可以解析为HTML文件并执行

//操作css
a1.style.color = 'red';
a1.style.padding = '10px';
9.3 删除节点

先获取父节点,通过父节点删除子节点

var fa = self.parentElement;

fa.removeChild(self);
fa.removeChild(fa.children[0]);
9.4 插入节点

追加

//将已经存在的节点【a1】移动,追加到后面
fa.appendChild(a1);

//创建新标签
var newp = document.createElement('p');//新建一个p标签
newp.id = 'p2';	//添加id属性
newp.innerText='hahaha';	//添加内容

newp.setAttribute('id',p2);

插到前面(了解)

//将a2标签插入到a1标签前面
fa.insertBefore(a2,a1);

10、操作表单

<form action="" method="post" onsubmit="return subm()">
    用户名<input type="text" name="name" id="username"/>
    密码<input type="password"  id="pwd"/>
    <input type="hidden" name="password" id="relpwd"/>
    <input type="submit"/>提交
</form>


<script>
    var subm = function(){
        var name = document.getElementById('username');
        var pwd = document.getElementById('pwd');
        var relpwd = document.getElementById('relpwd');
        relpwd.value = md5(pwd.value);	//使用md5对密码加密,需要导入md5的js文件
        return true;
    }
</script>

11、jQuery

是一个库,封装了大量的JS代码

在线引入jQuery库【jQuery CDN加速】

<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>

公式:

$(selector).action()

//js
document.getElementById('id')

//jQuery【#id就是css的id选择器】
$('#id')

事件

  • 鼠标事件

  • 键盘事件

  • 其他事件

//当网页加载完毕执行
$(document).ready(function(){
    xxx;
});

//简写
$(function(){});
操作DOM
$('#a1').text();
$('#a1').text('xxx');

$('a2').html();
$('a2').html('<del>xxx</del>');

操作css

$('#a1').css("color":"red","background":"blue")
$('#a2').css("color","red")

元素的显示和隐藏

$('#a1').show()
$('#a1').hide()

事件

  • 鼠标事件

  • 键盘事件

  • 其他事件

//当网页加载完毕执行
$(document).ready(function(){
    xxx;
});

//简写
$(function(){});
操作DOM
$('#a1').text();
$('#a1').text('xxx');

$('a2').html();
$('a2').html('<del>xxx</del>');

操作css

$('#a1').css("color":"red","background":"blue")
$('#a2').css("color","red")

元素的显示和隐藏

$('#a1').show()
$('#a1').hide()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值