热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Javascript学习笔记1javascript的特点

。。对于网页而言,Javascript无处不在,对于英语不好的人它简直是噩梦般的存在,但形式所逼,今天开始着手学习!希望自己能坚持下去。从什么地方着手,我的目标是从大处着眼,从应用

。。对于网页而言,Javascript无处不在,对于英语不好的人它简直是噩梦般的存在,但形式所逼,今天开始着手学习!希望自己能坚持下去。
从什么地方着手,我的目标是从大处着眼,从应用着眼,不抠细节,反正细节也记不住,到用到的时候在抠。
尽管编程是外行,也积累了一些常识,所以就从Javascript的特点开始学习。

一、什么是Javascript?
Javascript是一种基于对象(Object)和事件驱动(Event Driven)并具有相对安全性客户端脚本语言。
这个定义非常好,几乎涵盖了Javascript的特点。

1、Javascript是脚本语言
脚本(Script)是一种纯文本保存的程序,脚本简单地说就是一条条的文字命令,脚本程序在执行时,需要一个解释器,将其一条条的翻译成机器可识别的指令,并按程序顺序执行。Javascript脚本的解释器叫Javascript解释器,它包含在浏览器中,由于浏览器的种类和版本不同,解释出来的东西也有区别,为了让大部分浏览器都能解释我们编写的脚步,目前我们不得不针对不同浏览器编写不同的脚本,所以很多时候Javascript是啰里啰嗦的。Javascript是顺序的解释性语言,它不像C,JAVA那样需要先编译。
跨平台:Javascript依赖于浏览器本身,Javascript跨平台,是因为主流浏览器有Javascript解释器。

2、基于对象
基于对象,这个说法挺有趣,现在还有人在讨论Javascript是不是面向对象的语言,因为它的语法中没有class(类)。我们就把它理解成一种特殊的面向对象编程(OOP)语言吧,在 Javascript 中,对象无处不在,几乎所有的东西都是对象,字符串、数值、数组、函数,日期,Boolean,RegExp(正则表达式),Null也是一个对象。对象是拥有属性和方法的数据。内建对象可以直接使用其属性和方法,是不是很方便呢?

3、事件驱动
Javascript与HTML之间的交互是通过事件实现的,当我们与浏览器中 Web 页面进行某些类型的交互时(如点击按钮,鼠标滑过),事件就发生了。事件是发生在DOM上的,是DOM的重要组成部分,通过使用 Javascript ,可以监听特定事件(DOM事件)的发生,并规定这些事件做出什么响应。

4、相对安全
Javascript不被允许访问本地的硬盘,且不能将数据存入服务器,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失或对系统的非法访问。

二.Javascript能做什么
Javascript 被数百万计的网页用来改变样式、验证表单、检测浏览器、创建COOKIEs,制作网页特效(如漂浮、滚动、滑动门等等),万年历,在线编辑器,js游戏, 同服务器进行数据交互(AJAX)......

三、Javascript 三个组成部分
核心(ECMAScript)
文档对象模型(DOM)
浏览器对象模型(BOM)

ECMAScript 描述了以下内容:

  • 语法
  • 类型
  • 语句
  • 关键字
  • 保留字
  • 运算符
  • 对象

ECMAScript 仅仅是一个描述,定义了脚本语言的所有属性、方法和对象

DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API)。DOM 将把整个页面规划成由节点层级构成的文档。HTML 或 XML 页面的每个部分都是一个节点的衍生物。DOM 通过创建树来表示文档,从而使开发者对文档的内容和结构具有空前的控制力。用 DOM API 可以轻松地删除、添加和替换节点。

浏览器对象模型(BOM)

BOM 主要处理浏览器窗口和框架,不过通常浏览器特定的 Javascript 扩展都被看做 BOM 的一部分。这些扩展包括:

 

  • 弹出新的浏览器窗口
  • 移动、关闭浏览器窗口以及调整窗口大小
  • 提供 Web 浏览器详细信息的定位对象
  • 提供用户屏幕分辨率详细信息的屏幕对象
  • 对 COOKIE 的支持
  • IE 扩展了 BOM,加入了 ActiveXObject 类,可以通过 Javascript 实例化 ActiveX 对象

由于没有相关的 BOM 标准,每种浏览器都有自己的 BOM 实现。


推荐阅读
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • 本文介绍了如何在 Node.js 中使用 `setDefaultEncoding` 方法为可写流设置默认编码,并提供了详细的语法说明和示例代码。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • 掌握Mosek矩阵运算,轻松应对优化挑战
    本篇文章继续深入探讨Mosek学习笔记系列,特别是矩阵运算部分,这对于优化问题的解决至关重要。通过本文,您将了解到如何高效地使用Mosek进行矩阵初始化、线性代数运算及约束域的设定。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 探讨在PHP开发中,如何选择使用Cookie或数据库来优化网站性能,特别是在处理用户保存的搜索结果时。 ... [详细]
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
  • Python技巧:利用Cookie实现自动登录绕过验证码
    本文详细介绍了如何通过Python和Selenium库利用浏览器Cookie实现自动登录,从而绕过验证码验证。文章提供了具体的操作步骤,并附有代码示例,帮助读者理解和实践。 ... [详细]
  • 本文详细介绍了钩子(hook)的概念、原理及其在编程中的实际应用。通过对比回调函数和注册函数,解释了钩子的工作机制,并提供了具体的Python示例代码,帮助读者更好地理解和掌握这一重要编程工具。 ... [详细]
  • 本文将详细介绍通过CAS(Central Authentication Service)实现单点登录的原理和步骤。CAS由耶鲁大学开发,旨在为多应用系统提供统一的身份认证服务。文中不仅涵盖了CAS的基本架构,还提供了具体的配置实例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文介绍 Java 中如何使用 Year 类的 atMonth 方法将年份和月份组合成 YearMonth 对象,并提供代码示例。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 理解文档对象模型(DOM)
    本文介绍了文档对象模型(DOM)的基本概念,包括其作为HTML文档的节点树结构,以及如何通过JavaScript操作DOM来实现网页的动态交互。 ... [详细]
author-avatar
mobiledu2502858407
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有