软件设计之JavaScript(2)

软件设计之JavaScript(2)

【狂神说Java】JavaScript最新教程通俗易懂

学习内容:

软件开发技能点参照:软件开发,小白变大佬,这套学习路线让你少走弯路是认真的,欢迎讨论
软件开发技能点顺序参照:Java学习完整路线,强烈建议收藏转发
建议JSON、jQuery等深入知识还是看其他人的
尚硅谷JavaScript基础&实战丨JS入门到精通全套完整版

  1. JSON
  2. JS面向对象
  3. BOM对象
  4. DOM对象

1、JSON

JavaScript Object Notation :JS对象表示法
JSON是一个轻量级的数据交换格式,简介的层次结构使其成为理想的数据交换语言
在JS中一些皆为对象,任何js支持的类型都可以用JSON表示
格式:
(1)对象都用{}
(2)数组都用[]
(3)所有键值对 都用 key:value
JSON是一个特殊格式字符串,这个字符串可以被任意语言识别,并转换为任意语言中的对象
JSON和JS对象的格式一样,只不过JSON字符串的属性名必须加双引号

JSON分类

JSON中允许的值:字符串、数组、布尔值、null、对象(不能是函数对象)、数值

<script>
    //JSON对象
    let obj1 = '{"name":"China",“age”:5000}';
    //JSON数组
    let arr = '[1,"hello",true]';
</script>

JSON与对象格式转化

  <script >
    let user = {
        name:"Tom",
        age :2,
        sex :'男'
    }
    //对象转换为json字符串
    let jsonUser = JSON.stringify(user);

    //json字符串转化为对象
    let obj = JSON.parse(jsonUser)
    //第二种方法:eval()
    //当JSON字符串含有{}时,eval会把其当成代码块解析,若不希望如此,则字	 符串前后添加一个()
    let obj1 = eval("(" + jsonUser + ")");
    let obj1 = eval(jsonUser)
  </script>

在这里插入图片描述

2、JS面向对象

类: 模版、原型对象
对象:具体对的实例

原型对象

每一个对象都有它的原型对象,它可以使用自己原型对象上的所有属性和方法
获取原型的方法1:通过对象的__proto__获取
获取原型的方法2:通过构造函数的prototype属性获取
获取原型的方法3:通过类的prototype属性

面向对象原型获取1

Jerry的原型是user

  <script >
    let user = {
        name:"Tom",
        age :2,
        sex :'男'
    }
    let Jerry = {
        name: "Jerry"
    }
    Jerry.__proto__ = user;
  </script>

在这里插入图片描述

面向对象原型获取2

  <script >
      function Cat(name){
          this.name = name;
      }
      let cat = new Cat('Tom');
      Cat.prototype.eat = function (){
          console.log('吃鱼')
      }
      cat.eat();
  </script>

面向对象原型获取3

  <script >
      class Cat{
          constructor(name) {
              this.name = name;
          }
          }
      Cat.prototype.eat = function (){
          console.log('吃鱼')
      }
      let cat = new Cat("Tom")
      cat.eat();
  </script>

prototype实现继承(ES5)

将Schoolboy这个子类的prototype(原型)指向一个new出来的School类型的实例,则Schoolboy新建的子类就能使用School里的公共属性和方法

    <script>
        function Student(id){
            this.id = id;
        }
        function Schoolboy(grade){
            this.grade = grade;
        }
        Schoolboy.prototype = new Student();
        let boy = new Schoolboy('90')
    </script>

class继承

<script>
    class Schoolboy extends Student{
        constructor(name,grade) {
            super(name);
            this.grade = grade;
        }
        myGrade(){
            alert("我是小学生")
        }
    }
</script>

3、BOM对象

JS是为了能够在浏览器中运行才创造
BOM:浏览器对象模型
window 代表 浏览器窗口
Navigator 封装了浏览器的信息
screen 代表屏幕尺寸
location代表当前页面的URL信息(host、href、protocol、reload)
document代表当前页面:获取具体文档树节点、cookie
history代表 页面前进、后退

4、DOM对象

操作DOM对象

浏览器网页作为一个Dom树形结构
更新:更新Dom节点
遍历Dom节点:得到Dom节点
删除:删除Dom节点
添加:添加一个节点

获取节点
<body>
<div class="super">
    <h1>标题1</h1>
    <p id="p1"> p1</p>
    <p class="p2"> p2</p>
</div>

<script>
    let h1 = document.getElementsByTagName('h1');
    let p1 = document.getElementById('p1')
    let p2 = document.getElementsByClassName('p2');
    let father = document.getElementsByClassName('super');
    let children = father.children;//获取父节点下的所有子节点
</script>
</body>
更新节点
<body>
<div id="super">
</div>
<script>
    let father = document.getElementById('super');
    //修改文本值
    father.innerText = '4';
    //innerHTML 是 JavaScript 中的一个属性,用于获取或设置 HTML 元素的内容
    father.innerHTML = '<p style="color: red;">红色</p>';//设置
    let content = father.innerHTML; //获取
    console.log(content)
    //操作元素样式
    father.style.color = 'yellow'
</script>
</body>
删除节点

获取父节点,利用父节点删除

<body>
<div id="super">
    <p id = 'p1'>你好</p>
    <p id = 'p2'>世界</p>
</div>
<script>
    //通过子节点找到父节点
    let self = document.getElementById('p1');
    let father = self.parentElement;
    //删除方式1:
    father.removeChild(self);
    //删除方式2:
    //children是时刻变化的,当p1被删除之后,p2成为了father.children[0]
    father.removeChild(father.children[0])
</script>
</body>
插入节点
<body>
<div id = 'd1'>Java</div>
<div id="d2">
    <p id = 'p1'>你好</p>
    <p id = 'p2'>世界</p>
</div>
<script>
    let element1= document.getElementById('d1');
    let element2 = document.getElementById('d2');
</script>
</body>

在这里插入图片描述

  • 23
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript软件设计说明是一份文档,用于指导开发人员在设计和开发JavaScript软件项目时的步骤和原则。本文将简要介绍JavaScript软件设计说明的内容和目的。 首先,JavaScript软件设计说明应包括项目的背景和目的,以提供背景和概述项目的相关信息。接下来,应该列出项目的需求和功能,明确项目的具体目标和要求。 在设计说明中,应该详细描述软件的架构和组件。软件的架构应该清晰明了,包括各个模块的关系、数据流和交互方式。组件设计应该考虑到代码的可重用性和可维护性,尽量避免冗余代码,提高代码的效率和质量。 此外,设计说明还应涉及到具体的开发方法和规范。如何组织代码、编写注释、进行版本控制等等都应该在设计说明中进行规定。这些规范可以提高代码的一致性,便于团队协作和后期维护。 最后,设计说明还可以包括测试计划和质量保证措施。测试计划应该明确测试的范围和方法,并设计相应的测试用例。质量保证措施可以包括代码评审、性能优化和安全性检查等,以确保软件达到预期的质量标准。 总之,JavaScript软件设计说明是一份重要的文档,有助于开发人员在设计和开发JavaScript软件项目时有条不紊地进行工作。它将项目的需求和功能明确化,并提供了设计和开发的指导原则,以确保软件的质量和可维护性。同时,它还为团队协作和后续的版本维护提供了便利。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值