JavaScript初步学习----基本使用,简单事件,修改样式,数据类型

时间:2023-03-09 01:25:03
JavaScript初步学习----基本使用,简单事件,修改样式,数据类型

JavaScript基本使用

  JavaScript原名叫livescript,是一门动态类型,弱类型基于原型的脚本语言

    用于页面特效,前后交替,后台开发(node)

    JavaScript写在script标签里面,也可以写在外部的.js文件里面。通过<script src="index.js">导入

    因为JavaScript类比于程序代码,存在前后顺序,建议script标签写在</body>之前,如果写在了head标签里面,

    可能body代码还没执行,动态就已经运行完了,所以如果写在了head标签里面,则需要这样写

<script>
//如果script里面涉及到操作后面的元素,而又非得把script放在前面的话,需要加上:
window.onload = function () {
alert(5); alert是js内置的弹窗函数
//这里再写代码(意思是:当整个页面加载完成之后,再执行这里的代码)
}//一个页面中只能出现一次window.onload
</script>

  js需要注意的是:

    严格区分大小写

    每一行完整的语句后面要加分号

    变量名不能使用关键字或是保留字

    代码要缩进,保持可读性

初识JavaScript

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
* {
margin: 0;
padding: 0;
}
</style>
<script>
//如果script里面涉及到操作后面的元素,而又非得把script放在前面的话,需要加上:
window.onload = function () {
alert(5);
//这里再写代码(意思是:当整个页面加载完成之后,再执行这里的代码)
}//一个页面中只能出现一次window.onload
</script>
</head>
<body> <script src="index.js"></script>
<script>
/*
1.JavaScript 是一种脚本语言,是一种动态类型、弱类型
2.JavaScript通常用来操作HTML页面的
html骨架(页面结构),css是样式(元素大小、颜色、位置、隐藏或显示等),js是行为(部分动画效果、页面与用户交互等) JS代码写在哪里:
script标签里面
写在外部.js后缀文件里面,通过script标签引入
写在标签里面
注意:在引入js文件的script里面,一定不能再写js代码
标签里面写js代码一般情况下不推荐(指行内的样式) script标签的位置:
head或者body里面
要注意是否需要加上window.onload
如果说没有什么特别的要求,一般script标签放在body结束之前
*/ /*多行注释*/
// 单行注释
alert("同学们好"); //弹窗 用来调式代码
//Alert(1); //报错
console.log("你好哟"); //打印 用来调式代码
</script>
</body>
</html>

js对元素进行操作,

  都是需要先获取元素,在进行操作

获取元素的集中方法

  JavaScript初步学习----基本使用,简单事件,修改样式,数据类型

<body>
<div id="box">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
</div>
<ul>
<li>5</li>
<li>6</li>
<li>7</li>
</ul>
<script>
// var aLi = document.getElementsByTagName("li");
// alert(aLi.length);
var oBox = document.getElementById("box");
var aLi = oBox.getElementsByTagName("li");
alert(aLi.length);
</script>
</body>

JavaScript初步学习----基本使用,简单事件,修改样式,数据类型


<body>
<div id="box">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
</div>
<ul>
<li>5</li>
<li>6</li>
<li>7</li>
</ul>
<script>
var aLi = document.getElementsByTagName("li");
alert(aLi.length);
// var oBox = document.getElementById("box");
// var aLi = oBox.getElementsByTagName("li");
// alert(aLi.length);
</script>
</body>

JavaScript初步学习----基本使用,简单事件,修改样式,数据类型


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
* {
margin: 0;
padding: 0;
}
.wrap p i{
color: yellowgreen;
}
</style>
</head>
<body>
<div id="box">
999
</div>
<p class="box">1</p>
<p class="box">2</p>
<p class="box">3</p>
<p class="box">4</p>
<div class="wrap">
<i class="box1">1111</i>
<p class="box2">
<i>2222</i>
</p>
</div>
<script>
/*
那么JS如何操作页面:
其实,要操作页面,就是操作标签,JS要操作标签,就要先获取标签
js如何获取独有标签
document.title
document.head
document.body 其他标签的获取,id前面必须是document,其他的前面可以是某个元素(id,document),但不能是集合
通过id获取元素,
document.getElementById()
通过className获取元素(不支持IE8及以下)
.getElementsByClassName()
通过标签名获取元素
.getElementsByTagName() 通过选择器的写法获取元素(不兼容IE7及以下)
.querySelector()
.querySelectorAll()
通过name值获取
document.getElementsByName()
*/
document.title = "666";
//修改别的标签的内容,得用innerHTML(会解析标签),innerText(不会解析标签)
// document.body.innerHTML = "<b>999</b>";
// document.body.innerText = "<b>999</b>"; //获取的是确切的某个元素,可以直接操作这个元素
/*var oBox = document.getElementById("box");
oBox.innerHTML = "<em>666</em>";*/ //获取的是一堆元素的集合,设置操作的时候要通过下标(索引、序号)拿到对应的某一个 从0开始
/*var aBox = document.getElementsByClassName("box");
console.log(aBox.length);//.length 可以获取元素的长度
aBox[3].innerHTML = "<em>666</em>";*/ /*var aBox = document.getElementsByTagName("p");
aBox[2].innerHTML = "999";*/ /*var box = document.getElementsByTagName("div");
box[0].innerHTML = "888";*/ //获取第一个对应的元素
// var oBox = document.querySelector(".wrap i");
// oBox.innerHTML = "999"; var aBox = document.querySelectorAll(".wrap i");
// console.log(aBox);
aBox[1].innerHTML = "999"; // id querySelector
// class tagName querySelectorAll 记得加下标
</script>
</body>
</html>

JavaScript初步学习----基本使用,简单事件,修改样式,数据类型


简单事件

JavaScript初步学习----基本使用,简单事件,修改样式,数据类型

JavaScript初步学习----基本使用,简单事件,修改样式,数据类型

JavaScript初步学习----基本使用,简单事件,修改样式,数据类型

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
* {
margin: 0;
padding: 0;
}
div{
width: 200px;
height: 200px;
background: yellowgreen;
}
</style>
</head>
<body>
<div id="box">666</div>
<script>
/*
所谓事件,是指 JavaScript 捕获到用户的操作,并做出正确的响应。
在事件函数里面,有一个关键字this,代表当前触发事件的这个元素
事件:用户的操作
元素.事件 = 函数;
鼠标事件:
左键单击 onclick
左键双击 ondblclick
鼠标移入 onmouseover/onmouseenter ***
鼠标移出 onmouseout/onmouseleave ***
*/
var oBox = document.getElementById("box")
oBox.onclick = function () {
// oBox.innerHTML = "666";
this.innerHTML = "999";
};
// oBox.onmouseenter = function () {
// alert("我被划入啦");
// };
oBox.onmouseleave = function () {
console.log("lalala");
}
</script>
</body>
</html> 鼠标划入div

JavaScript初步学习----基本使用,简单事件,修改样式,数据类型

点击div区域再划出

JavaScript初步学习----基本使用,简单事件,修改样式,数据类型

修改样式

  js操作标签属性

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
* {
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<a href="01-浮动.html" id="box" class="wrap" target="_blank" tz="xp">去百度</a> <script>
/*
js操作元素的标签属性:
规范的标签属性:
. 符号直接操作(可读可写)
不规范(自定义)的标签属性:
获取:.getAttribute()
设置:.setAttribute()
移除:.removeAttribute() 注意:
所有的 路径、颜色 获取的结果不一定是你写的内容
通过id获取的元素赋值给变量后,假设修改了id,这个变量还是表示这个元素
自定义标签属性的操作方式,同样可以操作符合规范的标签属性
*/
var oA = document.getElementById("box");
//alert(oA.target);//可读性
oA.target = "_self";//可写性
//alert(oA.className);//class属性 要用className
oA.className = "";
// alert(oA.getAttribute("tz"));
oA.setAttribute("qq","ww");
oA.removeAttribute("qq");
oA.removeAttribute("id");
alert(oA.href);
</script>
</body>
</html>
先显示弹窗

JavaScript初步学习----基本使用,简单事件,修改样式,数据类型确定以后


JavaScript初步学习----基本使用,简单事件,修改样式,数据类型

JavaScript初步学习----基本使用,简单事件,修改样式,数据类型

JavaScript初步学习----基本使用,简单事件,修改样式,数据类型

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
* {
margin: 0;
padding: 0;
}
div{
width: 200px;
height: 200px;
background: yellowgreen;
}
p{
width: 50px;
height: 50px;
background: yellow;
}
</style>
</head>
<body>
<p id="wrap"></p>
<div id="box">888</div>
<script>
/*
行内样式标签属性:大部分情况下,js都是通过行内样式来达到修改样式的目的
*/ //当我们需要修改单个属性的时候,我们一般都是直接.操作去修改元素的行内样式
var oBox = document.getElementById("box");
var oP = document.getElementById("wrap");
// oBox.style.width = "400px";
// oBox.style.height = "200px";
// oBox.style.background = "red";
// oBox.style.cssText = "width: 500px;height: 200px;background: red;"; // 操作复合属性时,要注意用驼峰写法(去掉-号,-号后面的第一个单词大写)
oBox.style.marginLeft = "50px";
oBox.style["margin-top"] = "50px"; var bag = "color";
oBox.style[bag] = "red"; oBox.onclick = function () {
this.style.width = "400px";
this.style.height = "200px";
this.style.background = "green";
oP.style.background = "red";
};
</script>
</body>
</html>
绿色div未点击之前

JavaScript初步学习----基本使用,简单事件,修改样式,数据类型

点击之后

JavaScript初步学习----基本使用,简单事件,修改样式,数据类型


数据类型

JavaScript初步学习----基本使用,简单事件,修改样式,数据类型

JavaScript初步学习----基本使用,简单事件,修改样式,数据类型

JavaScript初步学习----基本使用,简单事件,修改样式,数据类型

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
* {
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<script>
/*
js六大数据类型
number——数字 在js里面的小数和整数统一都是数字 -2^53 -- 2^53 超出范围之后精度就会不准确
string——字符串
boolean——布尔值 true false
null
undefined——未定义 一个变量声明之后没有赋值就是undefined
object——对象
在js里面null属于对象类型,但是它不具有很多对象的共性,所以很多资料将它归为单独一类数据类型null
*/
var num = 0.336;
//alert(typeof num);//typeof 查看数据类型 var str = "qqq";
// alert(typeof str); var a = false;
// alert(typeof a); var b;
// alert(typeof b); var arr = [1,2,3];
// alert(typeof arr); var obj = {"name": "xiaopo", "age": "18"};
alert(typeof obj);
</script>
</body>
</html>

JavaScript初步学习----基本使用,简单事件,修改样式,数据类型