当前位置: 首页 > news >正文

JavaScript心得笔记-1(后端了解必备)

目录

Json

面向对象编程

1,面向对象原型继承

2.面向对象class继承

继承

操作BOM对象(重点)

操作对象

1.window(顶层对象)

2.Navigator

3.screen

4.location(重要)

5.document(DOM)

6.history

操作DOM对象(重点)

(1)操作文本

(2)操作css


Json

早期,所有数据传输习惯使用XML文件!

  • JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式

  • 简洁和清晰的层次结构使得JSON成为理想的数据交换语言

  • 易于人阅读和编写,同时也易于机器解析和生成,并有效提升网络传输效率

在JavaScript一切皆为对象,任何js支持的类型都可以用JSON来表示

格式:

  • 对象都用{}

  • 数组都用[]

  • 所有的键值对都是用key:value

JSON和JS对象的转换:

<script>
​
    var user = {
​
        name: "qinjiang",
        age: 3,
        sex: '男'
​
    }
​
    //对象转化为json字符串
    var jsonUser = JSON.stringify(user);
​
    //json字符串转换为对象
    var obj = JSON.parse('{"name": "qinjiang","age": 3,"sex": "男"}');
</script>

JSON和JS对象的区别

<script>
var obj = {a:'hello',b:'hellob'};  
var json = '{"a": "hello", "b":"hellob"}';  //JSON字符串的键值都是双引号
 </script>

面向对象编程

1,面向对象原型继承

<script>
​
    var user = {
​
        name: "qinjiang",
        age: 3,
        sex: '男',
​
        run:function () {
            console.log(this.name+"run....");
​
        }
    };
​
    var xiaoming = {
​
        name: "xiaoming"
​
    };
    xiaoming.__proto__=user;//将xiaoming的原型指向user,就可以调用user中的run方法片,相当于Java中user是xiaoming的父类

但后面发现这个原型继承的方式太过麻烦,于是借鉴了Java,采用了下面的class继承

2.面向对象class继承

class关键字,是在ES6引入的

1.定义一个类,属性,方法

 <script>
 class Student{//根据class关键字定义一个类,模仿Java
​
        constructor(name) { //构造器
​
        this.name=name;
        }
​
        hello(){
​
            alert('hello'+this.name);
​
        }
    }
    var student1 = new Student("xiaoming");
    var student2 = new Student("zhantao");
​
</script>

继承

<script>
class PrimaryStudent extends Student{
    
}
​
var primaryStudent = new PrimaryStudent("qinjiang");
</script>

操作BOM对象(重点)

BOM:Browser Object Model,浏览器对象模型

操作对象

1.window(顶层对象)

window代表浏览器窗口

2.Navigator

Navigator,封装了浏览器信息

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

大多数时候不会使用navigator对象,因为该对象会被人为修改!不建议使用这些属性来判断和编写代码

3.screen

代表屏幕尺寸

screen.width
screen.height

4.location(重要)

location代表当前页面的url信息

5.document(DOM)

document代表当前的页面,HTML DOM文档树

6.history

history代表浏览器的历史记录(不建议使用)

history.back()//后退
history.forward()//前进

操作DOM对象(重点)

DOM:文档对象模型,浏览器网页就是一个DOM树形结构!

核心

获得dom节点

 
<body>
​
<div id="father">
<h1>标题一</h1>
<p id="p1">p1</p>
<p class="p2">p2</p>
</div>
​
​
​
<script>
    //对应css选择器
    var p1 = document.getElementById("p1");
    var h1 = document.getElementsByTagName("h1")
    var p2 = document.getElementsByClassName("p2");
    var father = document.getElementById("father");
    var children = father.children;//获取父节点下的所有子节点
    //father.firstChild
    //father.lastChild
</script>
</body>

注意:这是原生代码,之后我们尽量都是用jquery();

更新:更新DOM节点

(1)操作文本

id1.innerText='123';//修改文本值
id1.innerHTML='<strong>123</strong>'//可以解析HTML文本标签

(2)操作css

id1.style.color='green'
id1.style.fontSize='200px'

相关文章:

  • 前端培训丁鹿学堂:css布局之定位知识总结
  • 基础 | 并发编程 - [AQS]
  • java8 新特性 stream
  • DAY45(DAY46拓展):SOCKS 代理技术
  • Handler消息传递机制
  • Django之路由匹配
  • Java面试(四)JVM基础
  • 新学期,新FLAG
  • 一文详解C语言文件
  • Java实现的一个编译器源代码(Win11)
  • 内核调试:crash工具与vmcore实践
  • C++ Qt / VS2019 +opencv + onnxruntime 部署语义分割模型【经验】
  • 如何查看线程死锁
  • 代码源每日一题div2 可重排列
  • 【原创】基于Jsp+Servlet的仓库管理系统
  • [nginx文档翻译系列] 控制nginx
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • CSS相对定位
  • ES6系列(二)变量的解构赋值
  • java多线程
  • Material Design
  • React中的“虫洞”——Context
  • Vue ES6 Jade Scss Webpack Gulp
  • vue2.0项目引入element-ui
  • vue-router 实现分析
  • 复杂数据处理
  • 力扣(LeetCode)22
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #pragma data_seg 共享数据区(转)
  • (1)(1.13) SiK无线电高级配置(六)
  • (2)STL算法之元素计数
  • (4)Elastix图像配准:3D图像
  • (Oracle)SQL优化技巧(一):分页查询
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (三)终结任务
  • (四)汇编语言——简单程序
  • (一)Neo4j下载安装以及初次使用
  • (原創) 物件導向與老子思想 (OO)
  • (转)visual stdio 书签功能介绍
  • (转)为C# Windows服务添加安装程序
  • *** 2003
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .net core使用ef 6
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .net 微服务 服务保护 自动重试 Polly
  • .net 怎么循环得到数组里的值_关于js数组
  • .NET6实现破解Modbus poll点表配置文件
  • .Net多线程总结
  • @font-face 用字体画图标
  • [ C++ ] STL---仿函数与priority_queue
  • [AIGC] Nacos:一个简单 yet powerful 的配置中心和服务注册中心
  • [BZOJ 1040] 骑士