1.计算机常识
-
计算机只能识别【0和1】
- 比如:开关机指令
- 显示一段文本
- 显示一张图片
计算机所有能识别的指令都是由0和1组成的
计算机中存储和操作的数据都是由0和1组成的
-
2.计算机语言
- 机器语言
- 所有的代码里面只有0和1,0表示不加电,1表示加电
- 优点:直接对硬件产生作用,程序执行效率非常高
- 缺点:指令有多又难记、可读性差、无可移植性
- 汇编语言
- 符号化的机器语言,用一个符号(英文单词、数字)来代表一条机器指令
- 优点:直接对硬件产生作用,程序的执行效率非常高、可读性“稍好”
- 高级语言
- 非常接近自然语言,语法和结构类似于普通英语
- 优点:简单、易懂、易于理解、远离对硬件的直接操作、有可移植性
- 缺点:有些高级语言写出的程序执行效率并不高
- 对比(利用3种类型语言编写1+1)
- 机器语言
- 10111000 00000001 00000000 00000101 00000001 00000000
- 汇编语言
- MOV AX,1ADD AX,1
- 高级语言
- 1 + 1
- 机器语言
- 高级语言最终都会翻译成机器语言【0和1】,以便于计算器执行
3.JavaScript简单了解
- JavaScript是高级语言
- JavaScript是编程语言、是一门弱语言
- 作用:主要作用就是用来实现网页中的各种功能,以及制作酷炫的网页特效
- 本质都是控制网页中的html和CSS来完成的
- 比如:轮播图、鼠标移动到某个位置出现动画等效果
- Tab选项卡
- 表单验证
4.发展史
- 布兰登·艾奇(Brendan Eich,1961年~),1995年在网景公司,发明的JavaScript。
- 一开始叫做LiveScript,后来改名为JavaScript。
- 很多人问它和java是什么关系?
- 如同“雷锋”和“雷峰塔”的关系。
- “北大”和“北大青鸟”的关系。
- “周杰”和“周杰伦”的关系
- 同时期还有其他的网页语言,比如VBScript、JScript等等,但是后来都被JavaScript打败,所以现在的浏览器中,只运行一种脚本语言就是JavaScript。
5.JavaScript的标准
- 首先一门语言问什么有标准?不指定标准会怎么样?
- 拿B语言为例:
- long long ago,有一门语言叫【B语言】,在当时很火、很牛逼,然而因为没有制定标准:不同的公司为了满足自己的应用,对B语言进行改造、重写;导致B语言后来无法统一,最后走向了落寞,直至死亡。
- 后来又出现了【C语言】,为了重蹈【B语言】覆辙,美国国家标准局(ANSI)成立了一个委员会,专门制定了【C语言】的标准:比如“C89、C99”等等……
- 【C语言才有我们今天的发展和用处】
- 那么javaScript的标准是由谁来指定的呢?
- European Computer Manufacturers Association。简称【ECMA】,翻译为【欧洲计算机制造商协会】。
- 总结:JavaScript是由公司开发而成的,欧洲的这个ECMA的组织,制定了JavaScript的标准,取名为ECMAScript。
- 补充:简单来说ECMAScript不是一门语言,而是一个标准。
6.JavaScript的【发展历程】
- 前些年之前,JavaScript被认为“牛皮鲜”,用来制作页面上的广告,弹窗、漂浮的广告。就是JavaScript开发的。以至于浏览器就推出了屏蔽广告功能。
- 2004年JavaScript命运开始改变了,那一年谷歌公司,开始带头使用Ajax技术了,Ajax技术就是JavaScript的一个应用。并且,那时候人们逐渐开始提升用户体验了。
- 2007年乔布斯发布了iPhone,这一年开始,用户就多了上网的途径,就是用移动设备上网。JavaScript在移动页面中,也是不可或缺的。并且这一年,互联网开始标准化,按照W3C规则三层分离,人们越来越重视JavaScript了。
- 2010年的时候,HTML5推出Canvas(画布),工程师可以在Canvas上进行游戏制作,利用的就是JavaScript。
- 2011年,Node.js诞生,使JavaScript能够开发服务器程序了。
- 总而言之:应用越来越广泛,前景越来越牛逼。【被评为对初学者最友好的语言】;
如何来学习一门编程语言?
一:先学习基础语法
- 死记硬背,没有为什么!都是ECMA规定的。
- 比如定义一个变量【var a = 99】
- 声明一个函数【function 函数名称(){}】
- 标识符的命名规范:【必须由字母、数字、下环线和$组成】
一句话【乌龟的屁股“规定”】就是【背】
二:在学习基本思想
- 比如:
- 【计数器思想】
- 【累加思想】
- 【排他思想】
- 【选择排序】
- 【冒泡排序】
- 【折半查找】
- 【节流思想】
- 这些思想多数都是长期开发中,程序员找出的规律,利用这种规律能更快速的解决一系列【相似】的问题
- 通过不断的敲代码,在平时学习和以后的工作中不断积累,遇到的问题多,解决问题的能力就越强【只有时间才能成就大神】。。。
学习一门编程语言的基本顺序
<a href="#one">第一:标识符 </a>##
<a href="#two">第二:常量</a>
<a href="#three">第三:变量</a>
<a href="#four">第四:运算符</a>
<a href="#five">第五:数据类型</a>
流程控制结构
<a href="#seven">第六:流程控制结构之【选择结构】</a>
<a href="#eight">第七:流程控制结构之【循环结构】</a>
<a href="#nine">第八:函数</a>##
<a href="#ten">第九:变量的作用域</a>##
<h2 id="one">标识符</h2>
1.什么是标识符?
-
现实生活中的标识符
-
2.什么是程序中的标识符?
- 就是程序员为了标识某个【变量、函数、标签】而给他们做标记时候起的“名字”:就是标识符
-
3.标识符的作用?
- 跟人类的名字差不多,为了区分每个人,就在每个出生的时候起了个名字
- 我们在学习选择器中的class选择器或者id选择器的时候,给标签的class或者id起名子一样.
- 比如
<p class="one" id="param"></p>
-
4.标识符命名规则【死记硬背】
- 1.只能由26个英文字母的大小写、10个阿拉伯数字(0~9)、下滑线和$符号组成
- 2.严格区分大小写:比如: a和 A是两个不同的标识符
- 3.不能以数字开头
- 4.不能和关键字相同
- 5.不能是ECMAScript保留字(abstract boolean、byte、char、class、const、debugger、double、enum、export、extends、final、float、goto、implements、i、port、intnterface、long、native、package、private、protected、public、short、static、super、synchronized、throws、t、ansient、volatile)
练习:一下那些不符合标识符的命名规则
<font size="6px">abc123</font>
<font size="6px">c123</font>
<font size="6px">123name</font>
<font size="6px">c.123</font>
<font size="6px">no</font>
<font size="6px">_</font>
<font size="6px">_123</font>
<font size="6px">c_1888</font>
<font size="6px">a*123</font>
<font size="6px">c#123</font>
<font size="6px">$</font>
<font size="6px">class</font>
<font size="6px">goto</font>
<font size="6px">long</font>
- 5.标识符的命名规范
- 比如:人出生的时候【狗蛋、狗剩、二狗】
- 起一个有意义的名字,能够提高代码的可读性.
- 表示年龄:age;表示姓名:name;表示数字number;
- 多个单词遵循【驼峰命名法】
-
什么是驼峰?就是一种比喻:
- userName;passWorld;sendMessege......
- 规则:除第一个单词外,其他的单词首字母都大写
<h2 id="two">常量</h2>
- 什么是常量?
- 表示一些固定的数据,也就是不能改变的数据
- 比如:1、2、3、4、56、77、88......
- 开发中的常量:
- 手机的型号
- 手机屏幕的宽高
- 同一台电脑的分辨率
- 用户实名认证的身份证号......
- 就是一些固定不变的量
<h2 id="three">变量</h2>
- 什么是变量?
- 表示的数据是可以经常修改的,当一个数据的值需要经常改变或者不确定时,就应该用变量来表示.
- 比如:【游戏的积分】【人的年龄】
- 作用:就是用来【存储数据的】
- 如何在js中声明一个变量?【掌握】
- 使用 var 关键词来声明变量(该变量是空的【它没有值】)如需向变量赋值,请使用等号)【称之为:先定义后初始化】
- 也可以在声明变量时对其赋值【称之为:定义的同时进行初始化】
- 一条语句声明多个变量 【var name="longGe", age=27, job="CEO";】
- 注意点:
- 1.只声明未定义的变量值为:undefined【只需要知道它是一个数据类型即可】
- 2.变量里面永远只能保存一个值【后一个会把前一个覆盖掉】;
<h2 id="four">运算符</h2>
1.算数运算符
- 概念:算术运算符用于执行变量或值之间的算术运算
- 算数运算符有:【+】【-】【*】【/】【%(求余数:保留整数)】【++】【--】
2.赋值运算符
- 概念:赋值运算符用于给js变量赋值
- 赋值运算符有:【=】【+=】【-=】【*=】【/=】【%=】
3.关系运算符(比较运算符)
- 概念:测定变量或值是否相等,或者谁大谁小。
- <h2>其结果只有两个false和true</h2>
- 关系运算符有:【==】【===】【!=】【>】【<】【>=】【<=】
4.逻辑运算符
- 概念:逻辑运算符用于测定变量或值之间的逻辑。
- 逻辑运算符有:【&&】【||】【!】
- 逻辑运算符号短路现象
5.三目运算符(三元运算符)
- 作用:一般用于给变量赋值
- 举例: c = a > b ? 88 : 99
- 口诀(口诀a大于b吗?如果大于等于88、否则等于99)
<h2 id="five">五大数据类型</h2>
- 1.数值型
- 比如:2,8,99,34.8,66.662......都是数值型
- 2.字符串类型
- 可以理解为【单引号或者双引号引起来的就是字符串】
- 其他语言中【单引号的代表字符,而在js中没有字符这一概念,所有单引号和双引号都是代表字符串】
- 比如"jack" 'rose' "name" '张三' "李四"
- 3.布尔类型
- 取值只有两个:false 和 true
- 4.null【先了解】
- 一般由于清空对象
- 5.udefined
- 只定义未赋值的变量其值为【undefined】
- 6.如何判断一个数据是什么类型?
- typeof函数
数据类型转换
- 1.prompt()函数的使用(接收用户的输入)
- 注意点:无论用户输入的是什么,返回的都是字符串类型。
- 2.字符串转换成数值型:
- parseInt()函数
- parseFloat()函数
- 3.弹出警告框
- alert()函数
- 练习:利用三目运算符,求出用户输入的三个整数,利用alert函数,弹出最大值