【JavaScript 1—基础知识点】:宏观概述

2024-08-25 22:18

本文主要是介绍【JavaScript 1—基础知识点】:宏观概述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

导读:JavaScript是一门新的(也可以说是旧的或者半新语言),里面有很多的知识点都能和已有的知识产生共鸣。但是,虽然简单,相同点也有很多,也有不同点。我脑袋也不好使,所以对于我来说,还是有必要再重复的总结回顾一下,增添一下印象。

一、俯瞰

1,定义

JavaScript:是一种具有面向对象能力的、解释性的程序设计语言。它基于对象和事件驱动并具有相对安全性的客户端脚本语言。它不需要再一个语言环境下运行,而只需要支持它的浏览器即可。它的主要目的是,验证发往服务器端的数据,增加Web互动,加强用户体验度等。

2,图示

3,说明

3.1,问题1

:注释很重要,帮助人们理解程序,但为什么在代码嵌入的时候,不需要提供注释?

:在代码嵌入的过程中,以前使用注释是为了让不支持JavaScript的浏览器能直接跳过JavaScript语言代码,而使其界面友好。现在的浏览器,均支持JavaScript语言,所以,在代码嵌入的时候,无需提供注释。

3.2,问题2

:为什么代码嵌入的时候,无添加代码?

:当JS代码很多很庞大的时候,我们需要将其另存为一个文件(封装),然后通过src标签进行调用。在封装好的文件中,已经包括你要执行的所有代码,所以不需要添加代码。如果有需要,则需要在另外的标签里填写,或者修改封装好的代码文件。

理解:就像是我们封装好了一个方法,当我们在别处调用时,我们不能在调用的过程中,再对封装好的方法进行修改,而如有必要的要,我们也只能返回原有类中的方法进行修改。

 

二、近看

1,注释

ECMAScript使用C风格的注释,包括单行注释和块级注释。
//单行注释
/*
 *多行(块级)注释
 *
*/

2,变量

在JavaScript里,变量的定义通过操作符Var,比如说定义一个字符串变量:var strTest=“测试”,而我们在别的地方,C#中,则会这么定义:String strTest=“测试”,如果在VB中,则可能会出现Dim strTest  as  string等。

虽然这些都有差异,但我认为这都不是问题,就像人的头发可以这么梳也可以那么梳一样,说到底还就是一把头发,一个方式而已。

3,面向对象

在JavaScript里,有对于庞大JS代码的抽象文件,我将这个理解为封装。也有属于它的继承机制(通过原型实现的继承),虽然没有见到多态,但我觉得它也是一种面向对象的语言,虽然形式和以前的不一样。在这里,我得说明一下,什么叫做通过原型实现的继承机制。

 

3.1,基于类的面向对象 和基于原型的面向对象方式比较(摘抄:全面理解面向对象的 JavaScript)


在基于类的面向对象方式中,对象(object)依靠 类(class)来产生。而在基于原型的面向对象方式中,对象(object)则是依靠 构造器(constructor)利用 原型(prototype)构造出来的。举个客观世界的例子来说明二种方式认知的差异。例如工厂造一辆车,一方面,工人必须参照一张工程图纸,设计规定这辆车应该如何制造。这里的工程图纸就好比是语言中的 类 (class),而车就是按照这个 类(class)制造出来的;另一方面,工人和机器 ( 相当于 constructor) 利用各种零部件如发动机,轮胎,方向盘 ( 相当于 prototype 的各个属性 ) 将汽车构造出来。

 


事实上关于这两种方式谁更为彻底地表达了面向对象的思想,目前尚有争论。但笔者认为原型式面向对象是一种更为彻底的面向对象方式,理由如下:

首先,客观世界中的对象的产生都是其它实物对象构造的结果,而抽象的“图纸”是不能产生“汽车”的,也就是说,类是一个抽象概念而并非实体,而对象的产生是一个实体的产生;

其次,按照一切事物皆对象这个最基本的面向对象的法则来看,类 (class) 本身并不是一个对象,然而原型方式中的构造器 (constructor) 和原型 (prototype) 本身也是其他对象通过原型方式构造出来的对象。

再次,在类式面向对象语言中,对象的状态 (state) 由对象实例 (instance) 所持有,对象的行为方法 (method) 则由声明该对象的类所持有,并且只有对象的结构和方法能够被继承;而在原型式面向对象语言中,对象的行为、状态都属于对象本身,并且能够一起被继承(参考资源),这也更贴近客观实际。

最后,类式面向对象语言比如 Java,为了弥补无法使用面向过程语言中全局函数和变量的不便,允许在类中声明静态 (static) 属性和静态方法。而实际上,客观世界不存在所谓静态概念,因为一切事物皆对象!而在原型式面向对象语言中,除内建对象 (build-in object) 外,不允许全局对象、方法或者属性的存在,也没有静态概念。所有语言元素 (primitive) 必须依赖对象存在。但由于函数式语言的特点,语言元素所依赖的对象是随着运行时 (runtime) 上下文 (context) 变化而变化的,具体体现在 this 指针的变化。正是这种特点更贴近 “万物皆有所属,宇宙乃万物生存之根本”的自然观点。在 程序清单 1中 window 便类似与宇宙的概念。

 

三、感受

年纪增长,越来越发现自己的脑子不记事儿了。不过,这也好,正是这不记事儿的脑子,催促我学习了就回头总结。

有时候,一看那个知识点觉得非常非常的熟悉,就不想总结,总觉得什么都差不多,总结也没多大收获。但是,事实上是没有两个完全一样的东西的,还是总结吧。一样的知识,权当重复+回顾+新体会;不一样的知识,嘿嘿嘿嘿.......

 

 

这篇关于【JavaScript 1—基础知识点】:宏观概述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1106796

相关文章

SpringBoot条件注解核心作用与使用场景详解

《SpringBoot条件注解核心作用与使用场景详解》SpringBoot的条件注解为开发者提供了强大的动态配置能力,理解其原理和适用场景是构建灵活、可扩展应用的关键,本文将系统梳理所有常用的条件注... 目录引言一、条件注解的核心机制二、SpringBoot内置条件注解详解1、@ConditionalOn

通过Spring层面进行事务回滚的实现

《通过Spring层面进行事务回滚的实现》本文主要介绍了通过Spring层面进行事务回滚的实现,包括声明式事务和编程式事务,具有一定的参考价值,感兴趣的可以了解一下... 目录声明式事务回滚:1. 基础注解配置2. 指定回滚异常类型3. ​不回滚特殊场景编程式事务回滚:1. ​使用 TransactionT

Spring LDAP目录服务的使用示例

《SpringLDAP目录服务的使用示例》本文主要介绍了SpringLDAP目录服务的使用示例... 目录引言一、Spring LDAP基础二、LdapTemplate详解三、LDAP对象映射四、基本LDAP操作4.1 查询操作4.2 添加操作4.3 修改操作4.4 删除操作五、认证与授权六、高级特性与最佳

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

SpringSecurity JWT基于令牌的无状态认证实现

《SpringSecurityJWT基于令牌的无状态认证实现》SpringSecurity中实现基于JWT的无状态认证是一种常见的做法,本文就来介绍一下SpringSecurityJWT基于令牌的无... 目录引言一、JWT基本原理与结构二、Spring Security JWT依赖配置三、JWT令牌生成与

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

如何配置Spring Boot中的Jackson序列化

《如何配置SpringBoot中的Jackson序列化》在开发基于SpringBoot的应用程序时,Jackson是默认的JSON序列化和反序列化工具,本文将详细介绍如何在SpringBoot中配置... 目录配置Spring Boot中的Jackson序列化1. 为什么需要自定义Jackson配置?2.

Java中使用Hutool进行AES加密解密的方法举例

《Java中使用Hutool进行AES加密解密的方法举例》AES是一种对称加密,所谓对称加密就是加密与解密使用的秘钥是一个,下面:本文主要介绍Java中使用Hutool进行AES加密解密的相关资料... 目录前言一、Hutool简介与引入1.1 Hutool简介1.2 引入Hutool二、AES加密解密基础

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小