JavaScript 理论与语法 持续更新中~

一、计算机导读

1.编程语言

1.1 编程

编程:就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。

计算机程序:就是计算机所执行的一系列的指令集合,而程序全部都是用我们所掌握的语言来编写的,所以人们要控制计算机一定要通过计算机语言向计算机发出命令。

注意:上面所定义的计算机指的是任何能够执行代码的设备,可能是智能手机,ATM机,黑莓PI,服务器等等。

1.2 计算机语言

计算机语言指用于人与计算机之间通讯的语言,它是人与计算机之间传递信息的媒介

计算机语言的种类非常多,总的来说可以分成机器语言,汇编语言和高级语言三大类。

实际上计算机最终所执行的都是机器语言,它是由 "0" 和 "1"组成的二进制数,二进制是计算机语言的基础。

 1.3 编程语言

可以通过类似于人类语言的 "语言" 来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(ProgrammingLanguage)。

编程语言是用来控制计算机的一系列指令,它有固定的格式和词汇(不同编程语言的格式和词汇不一样),必须遵守。

通用的编程语言有两种形式:汇编语言和高级语言

  • 汇编语言和机器语言实质是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,容易识别和记忆。
  • 高级语言主要是相对于低级语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,常用的有C语言,C++,Java,C#,Python,PHP,JavaScript,Go语言,Objective-C,Swift等。

 

1.4 翻译器

高级语言所编制的程序不能直接被计算机识别,必须经过转换才能执行,为此,我们需要一个翻译器,翻译器可以将我们所手写的源代码转换为机器语言,这也能称为二进制化,记住1和0.

 

 1.5 编程语言和标记语言区别

  • 编程语言有很强的逻辑和行为能力,在编辑语言里,你会看到很多 if else,for,while等具有逻辑性和行为能力的指令,这是主动的。
  • 标记语言(html)不用于向计算机发出指令,常用于格式化和连接,标记语言的存在是用来被读取的,他是被动的。

 2. 计算机基础

2.1 计算机组成

 2.2 数据存储

1.计算机内部使用二进制 0 和 1来表示数据。

2.所有数据,包括文件,图片等最终都是以二进制(0和1)形式存放在硬盘中的。

3.所有程序,包括操作系统,本质都是各种数据,也以二进制数据的形式存放在硬盘中,平时我们所说的安装软件,其实就是把程序文件复制到硬盘中。

4.硬盘,内存都是保存的二进制数据。

2.3 数据存储单位 

bit < byte < kb < GB < TB < ....

  • 位(bit):1bit可以保存一个0或者1(最小的存储单位)
  • 字节(Byte):1B = 8b
  • 千字节(KB):1KB = 1024B
  • 兆字节(MB):1MB = 1024KB
  • 吉子节(GB):1GB = 1024MB
  • 太字节(TB):1TB = 1024GB
  • ......

2.4 程序运行

 1. 打开某个程序时,先从硬盘中把程序的代码加载到内存中

2. CPU执行内存中的代码

注意:之所以要内存的一个重要原因,是因为CPU运行太快了,如果只从硬盘中读数据,会浪费CPU性能,所以,才使用存取速度更快的内存来保存运行时的数据。(内存是电,硬盘是机械)

二、JavaScript初始导读

1. 初始 JavaScript

1.1 JavaScript 历史

  • 布拉登 艾奇(Brendan Eich,1961年~)。
  • 神奇的大哥在1995年利用10天完成JavaScript设计。
  • 网景公司最初命名为LiveScript,后来在与Sun合作之后将其改名为JavaScript。

 1.2 JavaScript是什么

  • JavaScript是世界上最流行的语言之一,是一种运行在客户端的脚本语言(Script是脚本的意思)
  • 脚本语言:不需要编译,运行过程中由js解释器(js引擎)逐行来进行解释并执行
  • 现在也可以基于Node.js技术进行服务器端编程

JavaScript也可以称为JS 。

1.3 JavaScript的作用

  • 表单动态校验(密码强度检测)(JS产生最初的目的)
  • 网页特效
  • 服务端开发(node.js)
  • 桌面程序(Electron)
  • APP(Cordova)
  • 控制硬件-物联网(Ruff)
  • 游戏开发(cocos2d-js)

 1.4 HTML/CSS/JS的关系

HTML/CSS标记语言--描述类语言

  • HTML决定网页结构和内容
  • CSS决定网页呈现给用户的模样

JS脚本语言--编程类语言

  • 实现业务逻辑和页面控制 

 1.4 浏览器执行JS简介

浏览器分成两部分:渲染引擎和JS引擎

  • 渲染引擎:用来解析html与css,俗称内核,比如Chrome浏览器的blink,老版本的webkit
  • JS引擎:也称为JS解释器。用来读取网页中的JavaScript代码,对其处理后运行,比如Chrome浏览器的V8

 浏览器本身并不会执行JS代码,而是通过内置JavaScript引擎(解释器)来执行JS代码。JS引擎执行代码时逐行解释每一句源码(转换为机器语言),然后由计算机去执行,所以JavaScript语言归为脚本语言,会逐行解释执行。

1.5 JS组成

1. ECMAScript

ECMAScript是由ECMA国际(原欧洲计算机制造商协会)进行标准化的一门编程语言,这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实际上后两者是ECMAScript语言的实现和扩展。

ECMAScript: ECMAScript规定了JS的编程语言和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准。

2. DOM——文档对象模型

文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口

通过DOM提供的接口可以对页面上的各种元素进行操作(大小,位置,颜色等)。

3. BOM——浏览器对象模型

BOM(Browser Object Model,简称BOM)是指浏览器对象模型,它提供了独立于内容的,可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框,控制浏览器跳转,获取分辨率等。

1.6 JS 初体验

JS有三种书写位置,分别为行内,内嵌,外部。

1. 行内式JS

<input type="button" value="点我试试" οnclick="alert('Hello World')" />

  • 可以将单行或少量JS 代码写在HTML标签的事件属性中(以on开头的属性),如:onclick
  • 注意单双引号的使用:在HTML中我们可以推荐使用双引号,JS中我们添加使用单引号
  • 可读性差 ,在HTML中编写JS大量代码时,不方便阅读
  • 引号易错,引号多层嵌套匹配时,非常容易弄混
  • 特殊情况下使用

 2. 内嵌JS

<script>
    alert('Hello World~!');
</script>
  • 可以将多行JS代码写到<script>标签中
  • 内嵌JS是学习是常用的方式

 3. 外部JS文件

<script src="my.js"></script>

  • 利于HTML页面代码结构化,把大段JS代码独立HTML页面之外,既美观,也方便文件级别的复用
  • 引用外部JS文件的script标签中间不可以写代码
  • 适合于JS代码量比较大的情况 

2. JavaScript 输入输出语句

 为了方便信息的输出,JS1中提供了一些输入输出语句,其常用的语句如下:

方法 说明 归属
alert(msg) 浏览器弹出警示框 浏览器
console.log(msg) 浏览器控制台打印输出信息 浏览器
prompt(info) 浏览器弹出输入框 浏览器

三、变量导读

1. 变量概述

1.1 什么是变量

白话:变量就是一个装东西的盒子。

通俗:变量是用于存放数据的容器。我们通过变量名获取数据,甚至数据可以修改。

1.2 变量在内存中的存储

本质:变量是程序在内存中申请的一块用来存放数据的空间。

2. 变量的使用

变量在使用时分为两步:1.声明变量 2.赋值

1. 声明变量

//声明变量

var age;//声明一个名称为age的变量

  • var是一个JS关键字,用来声明变量(variable变量的意思)。使用该关键字声明变量后,计算机会自动为变量分配内存空间,不需要程序员管
  • age是程序员定义的变量名,我们通过变量名来访问内存中分配的空间

 2. 赋值

age = 10; //给age这个变量赋值为10

  •  = 用来把右边的赋值给左边的变量空间中 此处代表赋值的意思
  • 变量值时程序员保存到变量空间的值

3. 变量的初始化

var age = 18; //声明变量同时赋值为18 

声明一个变量并赋值,我们称之为变量的初始化。 

 4. 变量语法扩展

1. 更新变量

一个变量被重新赋值后,它原有的值就会被覆盖,变量值将最后一次赋的值为准。

var age = 18;

age = 81; // 最后的结果就是81因为18被覆盖掉了

 2. 同时声明多个变量

同时声明多个变量时,只需要写一个war,多个变量名之间使用英文逗号隔开。

var age = 10,name = 'zs',sex = 2; 

3. 声明变量特殊情况

 5. 变量命名规范

  • 由字母(A-Za-Z),数字(0-9),下划线(_),美元符号($)组成,如:usrAge,num01,_name
  • 严格区分大小写。var app;和var App;是两个变量
  • 不能以数字开头。18age 是错误的
  • 不能是关键字,保留字。例如:var,for,while
  • 变量名必须有意义。MMD BBD nl——age
  • 遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。myFirstName
  • 推荐翻译网站:有道 爱词霸

 6. 交换两个变量值

图1:

 代码:

<script>
    // js 是编程语言有很强的逻辑性在里面:实现这个要求的思路 先怎么做后怎么做
    // 1.我们需要一个临时变量帮我们
    // 2.把apple1 给我们的临时变量temp
    // 3.把apple2 里面的苹果给 apple1
    // 4.把临时变量里面的值 给 apple2
    var temp; // 声明了一个临时变量为空
    var apple1 = '青苹果';
    var apple2 = '红苹果';
    temp = apple1; //把右边给左边
    apple1 = apple2;
    apple2 = temp;
    console.log(apple1);
    console.log(apple2);
</script>

效果图:

 四、数据类型导读

1.数据类型简介

1.1 为什么需要数据类型

在计算机中,不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需要内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。

1.2 变量的数据类型

变量是用来存储值得所在处,它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。JavaScript是一种弱类型或者说动态语言。这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确认。

1.3 数据类型的分类

 JS把数据类型分为两类:

  • 简单数据类型(Number,String,Boolean,Undefined,Null)
  • 复杂数据类型(object)

 2 简单数据类型

周sir-007
关注 关注
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
2022年前端面试题整理,持续更新
阿飞
03-11 5万+
最新的面试题整理,整理了很多的一些基础知识, 适合初级的前端开发
笔试题(持续更新
weixin_43358143的博客
09-15 2139
间件Tomcat和Jetty提供了jsp和servlet的服务 Webservice: Xml security和gogmdel机制是webservice的xml数据安全的基本机制 Soap wevservice通过wsdl描述接口,wsdl支持对webservice进行人机可识别的描述 面向对象: 面向对象的最重要的特性是支持继承、封装和多态 系统设计应该遵循开闭原则,系统应该稳定不不可修改,但应支持通过继承、组合等方式进行扩展 面向对象设计时,每个类的职责应该单一,不要再一个类引入过多的接
渗透测试笔记 -------------持续更新~
00后学编程
08-20 1411
渗透测试 1、Windows基础 脚本(asp 、PHP、jsp)、 html(css、js、html) HTTP协议 CMS(B/S) MDS 肉鸡:被黑客入侵被长期驻扎的及计算机或服务器 抓鸡:利用使用量大的程序的漏洞,使用自动化方式获取肉鸡的行为 Webshell:通过Web入侵的一种脚本工具,可以据此对网站服务进行一定程度的控制 漏洞:硬件、软件、协议等等的可利用安全缺陷,可能被攻击者利用,对数据进行篡改,控制等 一句话【木马】[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(
java语言属于什么语言,持续更新~
神经网络爱好者
01-24 1974
学好java语言到底能做什么呢?学好java语言到底能做什么呢?1.可以自己设计游戏与其玩游戏,不如自己设计游戏;或许你不知道,在以前,我们玩的很多手机游戏都是通过Java开发的。而且在电脑上也是有java开发的游戏的,就像受很多人欢迎的网络游戏英雄联盟。 可以先学C语言之后再去学Java语言吗?这需要具体情况具体分析,如果说你学C语言的目标是为了初步掌握编程基础,并打算学习更高级语言做web开发,那可以考虑直接去学java。C语言是高级语言的基础,也是高级语言入门的最佳选择之一,C语言面向过程写程序
PL-Compiler-Resource:程序语言与编译技术相关资料(持续更新
01-31
《程序语言与编译技术深度探索》 在编程领域,程序语言与编译技术是核心基石之一,它们为软件开发提供了高效、灵活...持续更新意味着我们可以跟随这个资源库,不断接触新的理念和技术,保持在快速发展的IT行业的前沿。
闪击JavaScript
06-10
3. **作用域与闭包**:了解函数作用域和块级作用域,以及如何在JavaScript创建和使用闭包,对于避免变量污染和实现模块化至关重要。 4. **原型与继承**:JavaScript的继承机制基于原型链,理解原型对象、__proto_...
JavaScript与JScript从入门到精通(PDF)
12-28
JavaScript和JScript是两种在Web开发广泛使用的脚本语言,它们主要负责为网页增加交互性和动态功能。本文将深入探讨这两个语言的核心概念、异同以及如何从入门到精通。 一、JavaScript概述 JavaScript,由...
JavaScript-Projects
05-09
在"JavaScript-Projects-master"这个文件名,"master"通常指的是项目的主分支,这可能是一个GitHub仓库的默认分支,表明这些项目是开源的,并且可能有持续更新和改进。这个压缩包可能包含了项目的源代码、README...
javascript基础框架
11-05
JavaScript,简称JS,是Web开发领域不可或缺的脚本语言,尤其在前端开发扮演着核心角色。这个基础框架旨在为初学者构建一个全面的JavaScript知识体系,让你能够理解并掌握这门语言的主要内容。 首先,我们要...
ES6 新特性有哪些
weixin_64684095的博客
07-06 802
1. 拥有块级作用域,这意味着在 if 语句、for 循环、while 循环等代码块声明的 let 变量,只在该代码块内有效。2. 不允许在同一作用域内重复声明同一个变量1. 也具有块级作用域。2. 声明时必须进行初始化赋值,且赋值后不能再重新赋值修改其值。3. 如果 const 声明的是一个对象或数组,虽然不能重新赋值整个对象或数组,但可以修改对象的属性值或数组的元素值。
【vueUse库Component模块各函数简介及使用方法--上篇】
xiejunlan的博客
07-02 1279
vueUseComponent函数理解 `computedInject` 的概念模拟 `computedInject`使用场景总结构想`createReusableTemplate`的用途可能的实现方式方法一:使用高阶组件(HOC)方法二:使用插槽(Slots)和默认插槽内容结论构想`createTemplatePromise`的用途可能的实现方式使用Vue 3的异步组件构想的`createTemplatePromise`结论使用Vue的`ref`属性在模板引用元素或组件示例:引用模板的DOM元素。
Vue前端打包
weixin_63680330的博客
07-04 185
介绍:Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,在各大型互联网公司都有非常广泛的使用。启动:双击nginx.exe 文件启动,服务器默认占用80端口。官网:https://nginx.org/打包好的dist目录赋值到html下。html静态资源文件目录。conf 配置文件目录。logs日志文件目录。temp临时文件目录。
Vue 3集成krpano 全景图展示
最新发布
Mr丶GUO
07-06 222
Vue 3集成krpano 全景图展示,需要借助官方工具进行制作注意事项:vue@cli3没有static,需要放在public目录下。
前端播放RTSP视频流,使用FLV请求RTSP视频流播放(Vue项目,在Vue使用插件flv.js请求RTSP视频流播放)
weixin_65793170的博客
07-01 1011
在浏览器请求 RTSP 视频流并进行播放时,直接使用原生的浏览器 API 是行不通的,因为它们不支持 RTSP 协议。为了解决这个问题,开发者通常会选择使用像 flv.js 这样的库,它专为在浏览器播放 FLV 和其他流媒体格式设计。然而,flv.js 本身并不直接支持 RTSP,这意味着我们需要一个额外的步骤来桥接 RTSP 和 flv.js。
JS混淆基本类型和原理
朴拙科技的博客
07-06 388
混淆技术为JS代码提供了一定程度的保护,但同时也给代码的维护和逆向工程带来了挑战。了解和掌握这些混淆技术的原理和解析方法,可以帮助开发者更好地保护或理解JS代码。然而,需要注意的是,混淆并不是万无一失的安全措施,它更多的是增加了攻击者理解代码的难度。在进行逆向工程时,应始终遵守法律法规,尊重知识产权,不要用于非法目的。
Vue 数据大屏适配
FitnessSnail的博客
07-02 263
不会因为在某一维度上缩放过大而导致元素在另一维度上超出视口。.dataScreen-content 盒子内容根据设计稿给的。(默认为 1920x1080)计算缩放比例,并。的缩放比例,那么元素可能会在某一维度上。,这在很多情况下是不希望发生的。的缩放比例的目的是为了保证。单位进行正常的布局就行。在水平和垂直方向上都。
文本超长省略的几种方式(vue)
csdnyp的博客
07-01 352
文本超长省略,el-tooltip
vue3+ts项目.env配置环境变量与情景配置
我愿化作繁星
07-03 863
就是在编码过程应用这些自定义环境变量的时候,给出的智能提示。src目录下创建一个或者env.d.ts文件src同级别types目录下创建文件env.d.ts// 更多环境变量...在文件专门用于处理项目src文件的TypeScript配置文件,include配置项加入文件:(会提示自定义设置的环境变量)// ...// 第一种方式对应配置"vite-env.d.ts", // 或者 "env.d.ts"// 第二种方式对应配置。
怎么学javascript
09-16
4. 参与社区和讨论组:加入一些Javascript开发者的社区或者讨论组,与其他开发者交流经验和分享问题。在这些社区,可以获取到更多关于Javascript的实践经验和技巧。 5. 阅读优秀的代码:阅读其他经验丰富的...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
2
原创
0
点赞
2
收藏
4
粉丝
关注
私信
写文章

热门文章

  • 移动WEB开发之响应式布局 437
  • JavaScript 理论与语法 持续更新中~ 204

最新评论

  • JavaScript 理论与语法 持续更新中~

    CSDN-Ada助手: 非常感谢您的分享!持续更新博客是一件非常不易的事情,您的努力和付出一定会得到回报。除了JS引擎和渲染引擎的知识点,您可以进一步探索JavaScript的面向对象编程、异步编程、DOM操作等方面的知识,这些都是实际开发中非常实用的技能。同时,也可以深入了解浏览器的缓存机制、网络协议等相关知识,以便更好地优化网页性能。期待您的更多精彩分享! 如何写出更高质量的博客,请看该博主的分享:https://blog.csdn.net/lmy_520/article/details/128686434?utm_source=csdn_ai_ada_blog_reply2

  • 移动WEB开发之响应式布局

    CSDN-Ada助手: 恭喜你这篇博客进入【CSDN每天最佳新人】榜单,全部的排名请看 https://bbs.csdn.net/topics/614064446。

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 移动WEB开发之响应式布局
2023年2篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳SEO优化公司大浪品牌网站设计福永建网站坂田推广网站平湖seo坑梓网站制作同乐SEO按天收费木棉湾SEO按天收费塘坑网页制作大芬网站开发爱联设计公司网站坂田企业网站设计永湖设计公司网站大芬网页制作东莞企业网站建设光明网站改版坪地网站制作坂田网站推广横岗SEO按天收费坂田网站搜索优化吉祥网络广告推广宝安网站改版宝安网站搜索优化大运设计网站丹竹头模板推广西乡seo优化宝安模板制作横岗网站制作设计坑梓建网站广州网站优化按天扣费东莞SEO按效果付费歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化