标签:ring document 就会 匹配 自动 参数 案例 引入 操作
HTML中的脚本必须位于标签之间,脚本可放置在body和head中
1.行间事件(主要用于事件)
<input type="button" value="按钮" onclick="alert(‘被点击了‘)">
2.页面script标签
<script type="text/javascript">
window.onload = function () {
document.getElementById("box1").style.background = "red"
}
</script>
3.外部引入
<script type="text/javascript" src="js/main.js"></script>
我们可以添加注释对js进行解释,或者提高代码的可读性
变量命名
声明变量:var
var name; //声明不赋值
var age = 18; //声明时赋值
var id = 1, text = "js基础" // 同时声明多个
字符串、数字、布尔、Null、undifined、数组
js也是一门弱类型语言,类似于python,所以定义变量时也不需要声明类型
number:数字类型
string 字符串类型
boolean 布尔类型
undefined 类型:只定义没赋值
null 类型:类似python中的None
arry 数组类型
// 执行代码
//创建数组 Array
var data_array = Array("html", "css", "js");
//一样可以通过下标取值,可以for遍历得到下标
console.log(data_array[0]);
//通过length获取数组长度
console.log(data_array.length);
//pop()方法从数组删除最后一个元素并返回,和python中一样
data_array.pop();
console.log("删除之后:", data_array);
//push 方法把元素添加到数组最后一个位置
data_array.push("javascript");
console.log("添加之后:", data_array)
通过条件来控制程序的走向、就需要用到条件语句/
1、if语句:if(条件){逻辑}
2、else if语句:else if(条件){逻辑}
3、else语句:else{逻辑}
var age = 19;
if (age > 18) {
console.log("大于18")
} else if (age === 18) {
console.log("等于18")
}else {
console.log("小于18")
}
4、switch语句
switch(表达式){
case n1:
代码块
break;
case n2:
代码块
break;
case n3:
代码块
break;
default:
默认代码块
}
var a = 5, b = 7;
switch (b-a) {
case 6:
console.log("等于6");
break;
case 7:
console.log("等于7");
break;
default:
console.log("不等于6 7 ")
}
定义函数的关键词function,函数内的代码块、包裹在花括号中:
// 定义函数:关键字+函数名+参数+{代码块},
// 细节和python一样:
// 1、参数定义和形式
// 2、return 返回值
function func(param1, param2 = 3) {
console.log(param1);
console.log(param2);
return param1 + param2
}
// 调用
var sum = func(55);
console.log(sum)
创建对象:对象用花括号分割,在括号内部,类似python中字典, 也时key:value形式,value接收任意类型数据,包括函数
1、创建方式一:
// new Object 初始化一个字典
// 然后可以像python中一样添加键值对
obj_1 = new Object();
obj_1["name"] = "张三";
console.log(obj_1)
2、创建方式二:
直接定义变量接收花括号{}
// 对象中可以接收任意类型,包括函数,
// 跟python字段非常相似。
// js中的key 可以不不加引号。
// 操作属性,可以和python中一样用[],也可以直接点出来,而python是get()方法
var obj_2 = {
name: "李四",
age: 16,
gender: "男",
sum: function (var1) {
console.log(var1+12)
}
};
// 调用
console.log(obj_2.sum(20))
主要分为三种: while(条件)、for(语句1,语句2,语句3)、 for (i in iteration)==遍历
1、while循环
和python基本一样,基本不用。for更省代码
while(条件语句){
循环体
}
案例循环打印1-5
var a = 1;
while (a<=5){
console.log(a);
a++;
}
2、for循环
一般都用for循环来取代while循环
for(语句1,语句2,语句3){
循环题
}
案例循环打印1-5
// 注意三个语句要用分号分割,不是逗号
for (i = 1; i <= 5; i++) {
console.log(i)
}
3、for遍历
for(i in Array("a","b","c"){
循环体
}
// 遍历数组
var list_data = Array("a","b","c");
for (i in list_data){
console.log(i); // 下标
console.log(list_data[i])
}
// 遍历对象
var obj_2 = {
name: "李四",
age: 16,
gender: "男",
sum: function (var1) {
console.log(var1 + 12)
}
};
for (i in obj_2){
console.log(i); // 属性,也就是key
// console.log(obj_2.i) 不能点i了
console.log(obj_2[i])
}
通过HTML DOM,js可访问HTML文档的所有元素
当页面子被加载时,游览器会创建页面的文档对象模型(Document Object Model)
HTML DOM 模型会呗构造成树结构
节点树中的节点彼此拥有层级关系
通过可编程的对象模型,js获得了足够的能力来动态创建HTML
1、获取标签的方式
通常通过javascript才周一HTML元素,可以使用内置对象document的提供的三种方法找到该标签
// 1、通过id属性
document.getElementById("id")
// 2、通过标签名
// 返回的时一个数组
document.getElementsByTagName("div")
// 3、通过类属性名称
// 返回一个数组
document.getElementsByClassName("class")
2、获取标签注意的问题
当我们在head标签中 或 js文件中 直接写js代码获取页面元素时,会报错元素不存在
是因为,代码是从上往下执行的,加载js代码时,html还没加载,导致无法找到元素
解决办法
方法一:把js代码带在body标签 元素最后面,这样元素加载完,在执行代码就能找到元素了
方法二:js代码加入 window.onliad = function(){} js代码放在函数内,这样就会等html页面加载完在执行js
// 加入windos.onload 就会等页面加载完在执行js
window.onload = function () {
document.getElementById("box1").style.background="red";
};
<div id="box3">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</div>
# 读取的时整体ul,只有文本时,就等于文本读取
window.onload = function () {
console.log(document.getElementById("box3").innerHTML)
};
// 注意会把元素子节点先清空在赋值
window.onload = function () {
document.getElementById("box3").innerHTML="box33333333333";
};
window.onload = function () {
console.log(document.getElementById("box3").innerTEXT)
};
操作属性的方法
案例-修改input type属性值
//html
输入框:<input type="text" name="user" id="user">
// js 修改type为 button
document.getElementById("user").type = "button";
document.getElementById("user").value = "按钮";
主要就是触发鼠标事件后的一系列捕捉,及捕捉后的操作,后面学到jquery操作这些更加方便简单,原生js仅稍微介绍一下。。。
//html
<div id="box2" >box2</div>
// click, 程序自动触发click事件,操作元素更换背景颜色,
// 不能接收回调函数
ele = document.getElementById("box2");
ele.click(
ele.style.background = "red",
console.log("自动化触发变更颜色")
);
//onclick 程序没有自动出发,激发点击事件时触发
// 可以接收回调函数
ele.onclick = function () {
this.style.background = "cyan";
console.log("主动点击变色")
}
标签:ring document 就会 匹配 自动 参数 案例 引入 操作
原文地址:https://www.cnblogs.com/jiangmingbai/p/12986474.html