01—JavaScript概述

一、初识Javascript

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

JavaScript是一种功能强大的编程语言,用于开发交互式的web页面和给页面添加动态效果。js是网景公司(Netscape)的产品,javaScript之父是布兰登。最早取名为LiveScript。之所以将 LiveScript 更名为 JavaScript,是因为 JavaScript 是受 Java 的启发而设计的,因此在语法上它们有很多相似之处 ,JavaScript 中的许多命名规范也都借鉴自 Java,还有一个原因就是为了营销,蹭 Java 的热度。

1、JS的组成部分

JavaScript所指代的范围要比ECMAScript更加广泛。JavaScript可以分为3个部分:

核心(ECMAScript)

DOM(文档对象模型)

BOM(浏览器对象模型)

完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,浏览器对象模型。

2、特点:

1.js是脚本语言,采用小程序端的方式实现编程

2.js是解释性语言,根据代码顺序逐一解释,其中某一行有错,js就会卡在此处无法进入下一步。

3.Js是一种基于对象的语言

4.js跨平台性

3、javascript开发工具

Spket:Spket IDE - JavaScript Editor

Netbeans:Welcome to Apache NetBeans

Ixedit:http://www.ixedit.com/

codepress:CodePress - Real Time Syntax Highlighting Editor written in JavaScript

Webstorm:WebStorm: The JavaScript and TypeScript IDE, by JetBrains

Komodo Edit:Komodo IDE By ActiveState - One IDE for All Your Languages

scripted:GitHub - vmware-archive/scripted: The Scripted code editor

二、基本语法

1、区分大小写

2、;为每一行的结束符

要求:    无论换行与否语句结束都加分号

3、注释

单行注释以//开头

/*多行注释*/

4、命名规范

注意:变量名不要以 $ 作为开始标记,会与很多 JavaScript 库冲突。

  1.  匈牙利命名法:

基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。

举例

hwnd : h 是类型描述,表示句柄, wnd 是变量对象描述,表示窗口,所以 hwnd 表示窗口句柄

pfnEatApple : pfn 是类型描述,表示指向函数的指针, EatApple 是变量对象描述,所以它表示指向 EatApple 函数的函数指针变量

g_cch : g_ 是属性描述,表示全局变量,c 和 ch 分别是计数类型和字符类型,一起表示变量类型,这里忽略了对象描述,所以它表示一个对字符进行计数的全局变量。

上面就是HN命名法的一般规则。

  1.  帕斯卡拼写法(PascalCase):  

  帕斯卡拼写法(PascalCase) 在 C 语言中语言较多。帕斯卡命名法指当变量名和函式名称是由二个或二个以上单词连结在一起,每个单词首字母大写。而构成的唯一识别字时,用以增加变量和函式的可读性。

命名规则

单字之间不以空格断开或连接号(-)、底线(_)连结,第一个单词首字母采用大写字母;后续单词的首字母亦用大写字母

例如:FirstName、LastName。

每一个单词的首字母都采用大写字母的命名格式,被称为“Pascal命名法”,源自于Pascal语言的命名惯例,也有人称之为“大驼峰式命名法”(Upper Camel Case),为驼峰式大小写子集

  1.  驼峰法:    

JavaScript 中通常推荐使用驼峰法,jQuery 及其他 JavaScript 库都使用驼峰法。

驼峰命名规范(包括函数名,变量等):

  1. 名字中可以有字母、下划线或者美元符号、数字
  2. 必须以字母、下划线或者美元符号开始,不能数字开头,也不能使用特殊符号。
  3. 命名不能是系统的关键字:比如new ,if,class......
  4. 区分大小写
  5. 命名最好用有意义的名称。比如说name,people......

5、单双引号的使用规范(外层使用单引号里面就是用双引号)

6、常量

  1. 常量是从始至终不能被改变的数据。比如: 数字 123 可以是常量,字符串 "hello" 也是一个常量......
  2. 常量通常用来表示固定不变的量,比如圆周率,万有引力常量。

7、变量

变量:从字面上看,变量是可变的的量,从编程角度讲,变量是用于存储数据的容器

在 JavaScript 中创建变量通常称为“声明”变量,使用关键字 var来声明变量。

声明变量:

  1. 先声明后赋值  var age; age=20;
  2. 边声明边赋值   var  age=9;
  3. 多变量一起声明(用逗号隔开)var a,b; a=0;b=90
  4. 多变量一起声明一起赋值 var  age=9,name=”张三”;

  1. 变量不仅可存放具体值,还可以存放运算结果
  2. 同一个变量可以多次赋值,后赋的值会覆盖前面的值

三、输入 输出工具

1、直接写入 HTML 输出流,输出到页面

会以HTML的语法解析里面的内容

语法:document.write(参数1,参数2,参数3,...) 它们将按顺序被追加到文档中。

注:您只能在 HTML 输出中使用 document.write。如果您在文档加载完成后使用该方法,会覆盖整个文档。

2、输出弹窗

弹出带有一条指定消息和一个确定按钮的警告框

语法: window.alert(对话框中显示的纯文本);

3、输入弹窗

显示可提示用户进行输入的对话框

语法: prompt(对话框中显示的纯文本,默认的输入文本);

两个参数均为可选。

4、控制台输出信息

console.log("我是日志信息")

在控制台上输出的信息,浏览器按下 F12 打开控制台,Console 即控制台

可以接受任何字符串、数字和js对象,可以看到清楚的对象属性结构,不会阻塞程序的执行.

5、输出确认弹窗

语法:confirm(对话框中显示的纯文本);

四、浏览器载入JavaScript代码的三种方式

1、js内部引入,写在<script>标签中

<script type=”text/javascript”>...........</script>

使用简洁的格式载入 JavaScript 文件 ( type 属性不是必须的):<script src="myscript.js">

2、以外部文档形式连接到HTML文档中

<script type="text/javascript" src="one.js"></script>

3、直接在HTML标签中的js代码

<a href=”javascript:alert('我是在html标签里的js代码')”>提示框</a>

<!--引入区域-->

<!--1.js可以引入文档中的任何区域,js都可以正确执行-->

<!--2.js通常写在head区域或者body区域-->

<!--执行顺序-->

<!--1.代码在执行过程中,另一段代码想要执行就必须等当前代码执行完成后才可以进行-->

<!--2.JS是按照语句出现的先后顺序执行,和引入方式无关-->

、DOM的阻塞

1.DOM: js操作网页的接口,全称为“文档对象模型”(Document Object Model)。可以简单理解成页面中的元素

2.DOM树:元素和元素之间的关系,可以简单理解成页面中的元素。

3.js的执行会阻塞页面结构的加载,此时 DOM树是不完整的,这样在调用一些 js代码时就可能报错。

4.防止阻塞的两种方法:

<!--a.把所有js代码放在body区域的最后-->

<!--b.添加window.onload事件,表示网页加载完毕后(包括图片、css文件等等)执行的操作-->

Window.οnlοad=function(){

        代码体;

}

六、JS 的阻塞

js代码有错误时,从此处代码开始以后的代码都不会被执行

检查错误代码方法:

1、看控制台信息

2、使用alert()语句确定错误范围,再逐一查错。

练习 1:

使用 js 提供的输入款,获取用户输入的信息,

名字,年龄,地址,电话号码,

使用 js 语法输出在页面的 div 中

练习 2:

交换两个变量的值,a=22,b=33,使用控制台输出 a=33,b=22

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/813988.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jsoncpp 编译和使用

原文链接&#xff1a; jsoncpp的编译和使用 jsoncpp 编译出库文件 1.从github仓库下载 2.下载 cmake 工具 3.生成VS项目 4.编译得到需要的库文件 jsoncpp 的使用 查看原文

基于Springboot的自习室预订系统

基于SpringbootVue的自习室预订系统的设计与实现 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringbootMybatis工具&#xff1a;IDEA、Maven、Navicat 系统展示 用户登录页 网站首页 公告信息 留言反馈 后台管理 学生信息管理 公告信息管理 留言…

入门:多层感知器Multiple-Layer Perceiver, MLP

本文将简单介绍多层感知器&#xff08;MLP&#xff09;的基本概念、原理和应用。MLP是一种前馈人工神经网络&#xff0c;由多层节点组成&#xff0c;每层节点通过权重和偏置与下一层节点相连。MLP在许多领域都有广泛的应用&#xff0c;如分类、回归、自然语言处理等。 本文将分…

SRNIC、选择性重传、伸缩性、连接扩展性、RoCEv2优化(六)

参考论文SRDMA&#xff08;A Scalable Architecture for RDMA NICs &#xff09;&#xff1a;https://download.csdn.net/download/zz2633105/89101822 借此&#xff0c;对论文内容总结、加以思考和额外猜想&#xff0c;如有侵权&#xff0c;请联系删除。 如有描述不当之处&…

04异常Lambda算法正则

异常 异常是什么&#xff1f; 异常是代码在编译或者执行的过程中可能出现的错误。避免异常的出现&#xff0c;同时处理可能出现的异常&#xff0c;让代码更稳健。 异常分为几类&#xff1f; 编译时异常、运行时异常。编译时异常&#xff1a;没有继承RuntimeExcpetion的异常…

Linux: 工具: tshark 抓到了收方向的ESP明文包?

根据这个描述&#xff0c;看着是正常的&#xff0c; 抓到包之后&#xff0c;可以方便的分析问题&#xff0c;省去在wireshark里解码的问题。 经过调查发现是内核将ESP解开之后&#xff0c;如果是tunnel模式&#xff0c;内核又重新将skb丢给了interface去做处理。这样tshark/tcp…

Java基础(三)--常用工具类

文章目录 第三章、常用工具类一、Java异常1、什么是异常2、异常处理3、常见的异常类型4、throws5、throw6、自定义异常7、异常链 二、包装类1、包装类2、字符串与基本数据类型转换3、包装类的比较 三、String 类1、创建String对象的方法2、String的常用方法3、字符串的存储4、字…

360安全卫士去除广告方法

大安全时代&#xff0c;360 安全卫士为您提供全面安全服务&#xff0c;电脑端下载&#xff1a; https://urlqh.cn/orQqc 在当今数字化时代&#xff0c;网络安全已成为人们日常生活中的重要关切。在这片浩瀚的网络海洋中&#xff0c;360安全卫士犹如一座坚不可摧的灯塔&#xf…

基于微信公众号,搭建一套简单的电商支付环境(下)-- 微信公众号的对接

一、接着上文 上文把部署情况介绍了&#xff0c;侧重于网络及代理&#xff0c;本文选择把微信公众号的对接实现介绍一下。 还是那句话&#xff0c;微信官方的文档已非常详细&#xff0c;这里先摘抄一些重要的概念。 其次&#xff0c;待对接微信公众号的接口众多&#xff0c;…

Qt | 视频播放器(multimedia、multimediawidgets)

QT +=multimedia 通俗解释: 此代码行告诉编译器在构建应用程序时包含多媒体库。这意味着您的应用程序将能够播放和显示音频和视频文件。 使用分步说明构建模型: 创建一个新的 Qt 项目。 在 .pro 文件中添加以下行: QT += multimedia 导入必要的多媒体头文件: #include &l…

普乐蛙VR航天体验馆设备VR太空飞船VR元宇宙展厅

三天小长假就要来啦&#xff01;五一假期也即将到来。老板们想捉住人流量这个财富密码吗&#xff1f;那快快行动起来&#xff01;开启VR体验项目&#xff0c;假期赚翻天&#xff01;小编亲测&#xff01;&#xff01;这款设备刺激好玩&#xff0c;想必会吸引各位家长小孩、学生…

java使用ShutdownHook优雅地停止服务

在Java程序中可以通过添加关闭钩子&#xff0c;实现在程序退出时关闭资源、平滑退出的功能。 使用Runtime.addShutdownHook(Thread hook)方法&#xff0c;可以注册一个JVM关闭的钩子&#xff0c;这个钩子可 这通常用于确保在应用程序退出时能够执行一些清理工作&#xff0c;比…

openssl3.2 - exp - zlib

文章目录 openssl3.2 - exp - zlib概述笔记命令行实现程序实现备注 - 压缩时无法base64压缩时无法带口令压缩实现 - 对buffer进行压缩和解压缩测试效果工程实现main.cppCOsslZlibBuffer.hCOsslZlibBuffer.cpp总结备注 - 解压可以替代完整性校验备注 - 多次压缩没作用备注 - 和7…

海外媒体发稿:探究7个旅游业媒体套餐背后的秘密-华媒舍

旅游业媒体套餐对于旅游行业来说扮演着重要的角色&#xff0c;帮助企业在竞争激烈的市场中宣传推广&#xff0c;吸引更多的游客。在这篇文章中&#xff0c;我们将深入探究7个旅游业媒体套餐背后的秘密&#xff0c;为您揭示其真正的价值和影响。 1. 平台选择的关键 在选择旅游业…

spring boot学习第十七篇:OAuth2概述及使用GitHub登录第三方网站

0. 导言 我们在浏览器上可以访问成百上千个网站&#xff0c;使用每个网站的服务一般都要先注册账号&#xff0c;那么我们为了更好地记忆&#xff0c;一般都会在多个网站使用相同的账号和密码进行注册。那么问题就来了&#xff0c;如果在你注册的网站中有某些个网站的系统设计不…

CentOS7里ifcfg-eth0文件不存在解决方案/Centos7修改网络IP解决方案

Centos7网络IP地址手动设置 1、centos7没有ifcfg-eth0&#xff0c;我的centos7也没有其他博客说的什么ifcfg-ens33、ifcfg-ens32&#xff0c;然后我打开了我这里的ifcfg-eno***&#xff0c;结果发现就是centos6里的ifcfg-eth0里的网络配置。2、vim ifcfg-eno***&#xff08;按t…

202203青少年软件编程(Scratch图形化) 等级考试试卷(四级)

第1题&#xff1a;【 单选题】 由1,2,3,4,5,0这六个数字经过排列组合能够组成多少个六位数偶数&#xff1f; 注意&#xff1a; 每一位都不相同&#xff0c; 最高位不能为0。&#xff08; &#xff09; A:720 B:360 C:312 D:88 【正确答案】: C 【试题解析】 : 逻辑知识…

10分钟带你学会配置DNS服务正反向解析

正向解析 服务端IP客户端IP网址192.168.160.134192.168.160.135www.openlab.com 一、首先做准备工作&#xff1a; 关闭安全软件&#xff0c;关闭防火墙&#xff0c;下载bind软件 [rootserver ~]# setenforce 0 [rootserver ~]# systemctl stop firewalld [rootserver ~]# y…

【C++程序员的自我修炼】拷贝构造函数

心存希冀 追光而遇目有繁星 沐光而行 目录 拷贝构造函数概念 拷贝构造的特征 无穷递归的解释 浅拷贝 总结&#xff1a; 深拷贝 拷贝构造函数典型调用场景 总结 契子✨ 在生活中总有很多琐事&#xff0c;不做不行做了又怕麻烦&#xff0c;有时候想要是有个和自己一模一样的人就…

每日一题 第八十九期 洛谷 [NOIP2017 提高组] 奶酪

[NOIP2017 提高组] 奶酪 题目背景 NOIP2017 提高组 D2T1 题目描述 现有一块大奶酪&#xff0c;它的高度为 h h h&#xff0c;它的长度和宽度我们可以认为是无限大的&#xff0c;奶酪中间有许多半径相同的球形空洞。我们可以在这块奶酪中建立空间坐标系&#xff0c;在坐标系…