JavaScript基础知识

JavaScript基础知识


1.js的作用
用于网页与用户之间的交互的语言(HTML:超文本标记语言,主要用于设置网页的结构和内容,负责数据的
格式化展示;CSS:修饰HTML的样式)
2.语言类型
解释性语言:直接由浏览器,V8引擎直接解释执行,不生成字节码。缺点:执行效率稍微低一些。
3.使用方式
(1).通过script标签引用JS文件:

HTML文件上写:
<script src="js/index.js" type="text/javascript" 
charset="utf-8"></script>
JavaScript文件上写:
alert("helloworld")

(2).直接在script标签里面书写JS代码:

<script type="text/javascript">
	console.log(1234567890);
</script>

(3).在控制台书写js代码
4.变量声明
var=XXX;
注意:
1/如果在函数内容没有用var来进行声明,那么就会创建全局变量。
2/声明会使变量提升,但不会赋值。
5.函数的声明方式
(1).第一种声明方式

function abc(){
    console.log("这是函数ABC")
}

(2).第二种声明方式

var cba = function(){
    console.log("这是函数CBA")
}

6.函数的传参
函数在调用的时候,不会对参数进行检测。
Arguments:在函数调用的时候,会将所有的参数放置进arguments数组里,可以通过arguments获取所有的参数。

function like(){
    console.log(arguments)
    for(var i = 0;i<arguments.length;i++){
    console.log(arguments[i])
    }
}

注意:
第一种方式声明函数会将整个函数进行提升
第二种方式声明函数仅仅只会将变量提升,函数的赋值依然在后面进行。
7.定义对象
(1).字面量的方式定义对象

var student = {};//括号里面不写任何内容,那么定义的就是一个没有直接属性和方法的对象
var student = {
	name:"蔡徐坤",
	like:"ctrl",
	sayRap:function(){
	console.log("会rap")
	console.log(arguments)
	}
};

(2).工厂模式来生成对象

function Student(name){
	var student = {
	name:name,
	like:"ctrl",
	sayRap:function(){
	console.log("会rap")
	console.log(arguments)
		}
	};
	return student;
}
var s1 = Student("小明");
console.log(s1)

(3).构造函数模式生成对象

function Teacher(){
	this.name = "陈老师"
	this.gender = "男"
	this.teach = function(){
	console.log("会教学");
	}
}
var t1 = new Teacher()
var t2 = Teacher()
//如果没有使用new,就会当作普通函数调用,this的指向就会指向window,this.name就会导致在window属性生成name属性,name就变为全局变量。
console.log(t2)

(4).class方式定义类生成对象(ES6-2015的写法)

class Animal{
	constructor(){
	this.legs ="四条腿"
	}
	run(){
	console.log("跑")
	}
}
			
class Cat extends Animal{
	constructor(name){
	//关键词,调用继承的构造函数
	super()
	this.name = "猫";
	this.type = "波斯猫";
	this.nickname =name
}
say(){
	console.log("喵喵喵")
	}
}
	var c1 = new Cat("小喵")
	console.log(c1)

8.DOM对象
(1).获取文档对象的方法:

document.queryselector()
document.queryselectorAll()
document.getElementbyId()
document.getElementsbyClassName()
document.getElementsbyTagName()

(2).更改内容

//追加内容
    var h2=document.createElement("h2")
    h2.innerText="写字"
    document.body.appendChild(h2)

//删除内容
    h2.parentElement.removeChild(h2)

//插入内容
    var hobby=document.querySelector("div .hobby")
     hobby.parentElement.insertBefore(h2,hobby)

//替换内容
    document.body.querySelector("div").replaceChild(h2,hobby)
     document.body.replaceChild(h2,hobby)

(3).更改样式
1.通过style属性来修改样式的内容

//1获取元素对象
var h1 = document.querySelector("h1")
//2修改style属性
//注意:修改属性,如果属性是多个单词组成,那么去掉-,首字母大写即采用驼峰命名法来处理
//h1.style.background = "skyblue";
h1.style.color = "#fff";
h1.style.borderRadius = "10px";

2.通过修改类名达到修改样式

3.通过添加或者修改style标签来修改样式的内容

var styleTag = document.createElement("style")
styleTag.innerHTML = `
	.suofang{
		background: red;
		animation: sf 2s infinite;
	}
	@keyframes sf{
		from{
			height: 20px;
			transform: translateY(0px);
		}
		to{
			height: 200px;
			transform: translateY(200px);
		}
	}
`
document.body.appendChild(styleTag);

9.BOM对象
(1).Window:最根本的全局对象,所有的全局对象都是window的属性
常用的属性:
弹框:alert(普通弹框)/confirm(有确定和取消按钮)/prompt(可以输入内容的弹框)
注意:系统默认的弹框都是比较方便和快捷,但是用户体验不佳,UI设计跟应用可能不统一,会阻塞正常页面的渲染

(2).文档对象:document
页面前进后退:history,history.go(正数/负数),后退history.back(),前进history.forward()
页面宽高:innerHeight/innerWidth
浏览器在屏幕所在位置:screenLeft/screenTop/screenX/screenY
滚动位置:scrollTo()

(3).Location:访问页面与路径相关的对象:

hash: ""===> #和后面的内容。
host: "127.0.0.1:8020" ===>主机名和端口号
hostname: "127.0.0.1" ===>主机名
href: "http://127.0.0.1:8020/4-1bom%E5%AF%B9%E8%B1%A1/location.html"===>页面的路径,如果修改这个内容,会使页面跳转
origin: "http://127.0.0.1:8020"===>协议+主机名+端口号
pathname: "/4-1bom%E5%AF%B9%E8%B1%A1/location.html"===>后面的具体路径
port: "8020"===>端口号
protocol: "http:"===>协议
reload: ? reload() ===>重新加载当前页面
replace: ? () ===>替换当前的页面,不能再返回到当前页面
assign: ? assign() ===>加载新的页面

(4).Navigator:浏览器相关的信息,一般如果想要获取用户使用的浏览器信息,可以通过这个对象获取。
主要使用window.navigator.userAgent,userAgent中是浏览器信息

(5).SetInterval:间隔函数
语法:setInterval(function(){},毫秒数)
(6).clearInterval:清除间隔函数
语法:clearInterval(intervalId)

(7).SetTimeout:延迟函数
(8).clearTimeout:清除延迟函数
注意:setTimeout/setInterval里面的函数都是异步执行的函数。
会放到内存里的事件队列里面,时间触发之后,就会进入到cpu执行的等待队列里面。CPU依然会先执行正在执行的内容,执行之后才会执行等待队列里面的事件。

(9).Localstorage:本地存储,长期存放数据。只要不清除缓存,就会一直存放。
//本地存储:对数据的存放,获取,修改,删除;

//存放数据/修改数据的方式:
localStorage.setItem("username","隔壁老王");
localStorage.currentTime = new Date()
localStorage['age'] = 30;
console.log(localStorage)
//获取数据的方式
var username = localStorage.getItem("username")
console.log(username)
console.log(localStorage.currentTime)
console.log(localStorage['age'])
//通过索引值来获取内容
var item = localStorage.key(0)
console.log(item)
//删除数据
localStorage.removeItem("age")
console.log(localStorage)
//清除所有数据
localStorage.clear()
console.log(localStorage)

(10).SessionStorage:临时性的本地存储,只要已关闭浏览器,就会被清除掉。当次会话有效。

//添加和修改数据
sessionStorage.username = "小黑";
sessionStorage['age'] = 16;
sessionStorage.setItem("userType","vip")
//获取数据
var username = sessionStorage.username;
var age = sessionStorage.getItem("age");
var userType = sessionStorage['userType'];
console.log(username,age,userType)
//清除数据
sessionStorage.removeItem("age")
console.log(sessionStorage)
sessionStorage.clear()
console.log(sessionStorage)

注意:所有存放在本地存储的数据都是字符串。

(11).AJax

Ajax:在不刷新页面的情况下,异步的服务器进行交互;

function getAjax(httpUrl,fn){
//1实例化xhr对象
var xhr = new XMLHttpRequest()
//2设置请求的路径和方法
xhr.open("GET",httpUrl);
//3发送请求
xhr.send()
//4监听事件,接收请求
xhr.onreadystatechange = function(){
	if(xhr.readyState==4&&xhr.status==200){
		/*console.log(xhr.readyState);
		console.log(xhr.status)
		console.log(xhr)*/
			
		fn(xhr)		
		}
	}
}

getAjax("http://127.0.0.1:8020/5-1ajax/hello.txt",function(xhr){
	var h1 = document.createElement("h1");
	h1.innerHTML = xhr.responseText;
	h1.style.color = "pink"
	document.body.appendChild(h1)
})

(12).JQuery

(1).JQuery的引用
<script src="js/jquery-1.11.0.js" type="text/javascript" charset="utf-8"></script>

(2).修改DOM元素的内容
//设置和修改HTML的内容
$('h1').html('今晚吃啥?');
document.querySelector("h1").innerHTML = "今晚吃啥?"

//获取DOM对象上的内容,不传参数就是获取内容
var html = $('h1').html()
console.log(html)

(3).修改DOM元素的属性
//设置和修改dom元素的属性
$('img').attr("src","img/cxk.gif")
//获取dom属性的值
var imgSrc = $("img").attr("src")
console.log(imgSrc)

(4).修改DOM元素的样式(注意:属性是由多个单词组成,那么key要用引号引起来,或者使用驼峰命名法,如下所示)
//一次性设置多个样式
$(".abc").css({
	background:"skyblue",
	color:"#fff",
	"border-bottom":"10px solid purple",
	borderTop:"10px solid yellow"
})
//一次性只设置1个样式
//$(".abc").css("border","10px solid pink")

添加和删除classname
$('button').click(function(e){
	console.log($('.d1').attr("class"))
	if($('.d1').attr("class")=="d1"){
		$('.d1').addClass("swiper");//添加类名
	}else{
		$('.d1').removeClass("swiper");//删除类名
	}
	//$('.d1').addClass("swiper");
	//$('.d1').toggleClass("swiper");//切换类名
})

(5).插入和删除DOM元素
<img src="img/cxk.gif"/>
<h1>-------------------------------------</h1>
<div id="main">
	
</div>
<script src="js/jquery-1.11.0.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
	//可以追加html代码
	$('#main').append("<h1>helloworld</h1>")
	//可以追加既存在的元素对象
	$('#main').append($("img"))
    //删除元素
	$(".delete").remove()
</script>

(6).DOM相关的事件
语法:$('css选择器').事件名称(function(事件对象){})
$(".d1").click(function(e){
	console.log("1")
})
$(".d1").click(function(e){
	console.log("2")
})
$('body').keypress(function(e){
	console.log(e)
})
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统根据B/S,即所谓的电脑浏览器/网络服务器方式,运用Java技术性,挑选MySQL作为后台系统。系统主要包含对客服聊天管理、字典表管理、公告信息管理、金融工具管理、金融工具收藏管理、金融工具银行卡管理、借款管理、理财产品管理、理财产品收藏管理、理财产品银行卡管理、理财银行卡信息管理、银行卡管理、存款管理、银行卡记录管理、取款管理、转账管理、用户管理、员工管理等功能模块。 文中重点介绍了银行管理的专业技术发展背景和发展状况,随后遵照软件传统式研发流程,最先挑选适用思维和语言软件开发平台,依据需求分析报告模块和设计数据库结构,再根据系统功能模块的设计制作系统功能模块图、流程表和E-R图。随后设计架构以及编写代码,并实现系统能模块。最终基本完成系统检测和功能测试。结果显示,该系统能够实现所需要的作用,工作状态没有明显缺陷。 系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。进入银行卡列表,管理员可以进行查看列表、模糊搜索以及相关维护等操作。用户进入系统可以查看公告和模糊搜索公告信息、也可以进行公告维护操作。理财产品管理页面,管理员可以进行查看列表、模糊搜索以及相关维护等操作。产品类型管理页面,此页面提供给管理员的功能有:新增产品类型,修改产品类型,删除产品类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值