Java script

Java script

Java scirpt是一门脚本语言
作用:主要用来给HTML网页增加动态功能

  • 通常的js,是运行在浏览器环境下的
  • js的两种模型:
    • DOM:文档对象模型 。 操作对象:document
    • BOM:浏览器对象模型 。 操作对象:window
  • node.js运行在计算机环境下,服务器技术。不能操作BOM和DOM。但是它可以操作文件,数据库。
    实际上是一门后端技术。
JS解释器(不同的浏览器,js的解释器不一样,但是揭示出来的效果是一样的):
浏览器 解释器
Chrome v8
Sarfari AjavaScriptCore
node v8
补充内容:
名字
ECMAS cript(es) 是一套规范,js的语法
Java scirpt() es具体的实现

Java script的编写:

  • 建议编写位置在body标签的最后(body结束标签的上面),为了等到页面上所有东西都加载完毕后,再加载出来
  • 建议使用外部引入

Java sript的数据类型

名称 英文
数字 number
字符串 string
布尔型 boolean
“上述三个可以自动类型推断,是弱类型”
null
未定义 undefined
非数字 NaN(Not a Number)

变量的声明

var/let v1 = 10;
var/let v2 = '你好'(单引号,双引号都可以)
var/let v3 = true
var/let v4 = null

es6声明变量语法:

我们可能会遇到下面问题

var num = 1;
var num = 2;
documrnt.write(num)
结果得到了2,相当于2把1覆盖掉了,非常危险,可能从外部引入了许多js,结果相同变量只能读一个值

解决办法(使用es6语法中,新的关键字):

let num = 1;
let num = 2;
document.writeln(num)
结果会报错

常量的定义:

const num = 1;

数组的声明:

let v1 =[1,2,3,4,5]
定义一个空数组:m
let arr = Array();
js中的数组没有下标越界
在js中,没有“方法”,Java中的方法,在这里叫做函数
在js中,函数可以当作类来使用

如下:

let arr = new Array()
可以将js中的数组,理解为Java中的集合

js的函数(也就是Java里的方法)

函数定义:

  function 方法名 (){
  
        
    }

函数调用:

方法名()

函数返回值:

关键字reuturn:
return可以终止函数的运行
js的函数,不可以“方法重载”“方法重写”
js的函数如果需要参数但没有传,不会报错,会输出NaN

js的对象:

对象的声明

let v8 = {
"username":"admin",
"password":"123456",
"id":1001
}
document .write(v8.username)获取对象属性的值

使用Object返回一个空对象:

let obj = new Object();

使用函数来定义一个类:

function User(name){
this.name =name
}
根据上面的类来创建一个对象
 let user = {
 "name" = "张三"
 }

js对象的方法

let obj = Object();
对象的属性
obj.name="张三";
obj.age =20;
对象的方法
obj.eat = function() {
console.log("我在吃东西")
}

第二种方法
let teacher = {
name:xxx
age:
drink:function(){
	console.log("我在喝酒")
}
}

js里的判断和循环:

let a = 1;
if(a = 2){
   console,log("哈哈哈");
}
  • 上述这个例子中,if(a = 2)其实不是一个判断,而是一个赋值语句。
    if中的"哈哈哈"一定会出来。a的值是2

  • 在js中的判断中,0是false;null是false;undefine是false
    其他的都是true

js中没有增强for循环:
普通for循环
let arr = [1,2,3,4,5];
for(let i = 0;i<arr.length;i++){
console.log(arr[i])
}
for in 语句
for(i in arr){
console.log(arr[i])
}

遍历对象:

let student = {
name :"小明",
age:18
}
只能使用for in语句来遍历对象
for (i in student){
i(拿到属性)
student.i/student[i](拿到值,建议使用后者)
}

js对于HTMl标签的操作:

DOM(Document Object Model)编程:

  • 整个body对象document
  • 所有的HTMl元素都是元素节点
  • 所有的HTML属性都是属性节点
  • 元素的文本都是文本节点
  • 注释节点

获取元素节点:

  // 根据id(获取唯一一个元素节点)
    let div = document.getElementById(id名)
    // 根据标签名(获得多个,想要拿一个需要用下标)
    let div1 = document.getElementsByTagName("标签名")
    // 根据class样式(获得多个,想要拿一个需要用下标)
    let div2 = document.getElementsByClassName("样式名")

新方式:

 // 找到个传入和传入的选则器匹配的第一个元素,返回值是一个元素节点
    document.querySelector("(选择器)");
//找到和选择器匹配的所有元素
let divs =  document.querySelector("选择器");
 document.write(divs[0])

新建一个元素节点:

let xxx = document.createElement("xxx");

删除一个节点

remove()

posted on 2022-08-24 22:02  figh466  阅读(166)  评论(0)    收藏  举报

导航