初步了解JavaScript
1.JavaScript(是什么?)
是一种通常运行在浏览器中(运行环境)的编程语言;
可以用来实现人机交互效果,提供逻辑思维能力。
2.作用
监听用户的行为,并让网页作出对应的反馈
网页特效(动画效果)
表单验证(针对表单数据的合法性进行判断)
数据交互(获取后台的数据,演染到前端)
服务端编程(node.js)
3.JavaScript的组成(有什么?)
ECMAScript规范:
规定了js基础语法核心知识。
比如:变量、分支语句、循环语句、对象等等
Web APIs(可操作的实体对象) :
DOM 操作文档,比如对页面元素进行移动、大小、添加删除等操作
BOM操作浏览器,比如页面弹窗,检测窗口宽度、存储数据到浏览器等等
注意:DOM(document object model)属于BOM(browser object model)
JavaScript书写位置
1.内部JavaScript
直接写在html文件里,用script标签包住
规范: script标签写在</body>上面
注意事项:
我们将<script>放在HTML文件的底部附近的原因是浏览器会按照代码在文件中的顺序加载HTML
如果先加载的JavaScript期望修改其下方的HTML,那么它可能由于HTML尚未被加载而失效。
书写的位置尽量写到文档末尾</body>前面
因此,将JavaScript代码放在HTML页面的底部附近通常是最好的策略。
2.外部JavaScript
代码写在以.js结尾的文件里
语法:通过script标签,引入到html页面中。
注意事项:
script标签中间无需写代码,否则会被忽略!
3.内联JavaScript
代码写在标签内部,不推荐这样使用,了解一下就行
JavaScrip输入输出语法
1.document.write('要输出的内容')
向body内输出内容
如果输出的内容写的是标签,也会被解析成网页元素
2.alert('要输出的内容')
页面弹出警告的内容
3.console.log('要输出的内容')
控制台输出语法,程序员调试使用
变量
变量的基本使用:
1.声明变量
语法:let 变量名
声明变量有两部分构成:声明关键字、变量名(标识)
let 即关键字(let:允许、许可、让、要),所谓关键字是系统提供的专门用来声明(定义)变量的词语
举例:let age
age 即变量的名称,也叫标识符
2.变量赋值
定义了一个变量后,你就能够初始化它(赋值)。在变量名之后跟上一个“=”,然后是数值。
变量命名规则与规范
规则:必须遵守,不遵守报错
规范:建议,不遵守不会报错,但不符合业内通识
1.规则
不能用关键字
关键字:有特殊含义的字符, JavaScript内置的一些英语词汇。例如: let、var、if、for等
只能用下划线、字母、数字、$组成,且数字不能开头
字母严格区分大小写,如Age和age是不同的变量
2.规范
起名要有意义
遵守小驼峰命名法
第一个单词首字母小写,后面每个单词首字母大写 例: userName
数据类型
typeof 检测数据类型
基本数据类型: 引用数据类:
number 数字型 object 对象
string 字符串型 unction 函数
boolean 布尔型 array 数组
undefined 未定义型
null 空类型
1.数字类型(number)
JavaScript 中的正数、负数、小数等统一称为数字类型。
JS是弱数据类型,变量到底属于那种类型,只有赋值之后,我们才能确认
Java是强数据类型例如int a=3 必须是整数
2.字符串类型(string)
通过单引号(") 双引号("")或反引号(``)包裹的数据都叫字符串,单引号和双引号没有本质上的区别
注意事项:
1.无论单引号或是双引号必须成对使用
2.单引号/双引号可以互相嵌套,但是不以自已嵌套自已(口诀:外双内单,或者外单内双)
let name = "12 '33' "
let name = '12 "33" '
3.必要时可以使用转义符\,输出单引号或双引号
let name = "我的名字叫 \"彦祖\""
3.布尔类型(boolean)
表示肯定或否定时在计算机中对应的是布尔类型数据
它有两个固定的值true 和false,表示肯定的数据用true (真),表示否定的数据用false(假)
4.未定义类型
什么情况出现未定义类型?
只声明变量,不赋值的情况下,变量的默认值为undefined,
工作中的使用场景:
我们开发中经常声明一个变量,等待传送过来的数据。
如果我们不知道这个数据是否传递过来,此时我们可以通过检测这个变量是不是undefined,
就判断用户是否有数据传递过来。
5.空类型(null)
null 表示值为空
let obj = null
null 和 undefined 区别:
1. undefined 表示没有赋值
2. null 表示赋值了,但是内容为空
null 开发中的使用场景:
官方解释:把null作为尚未创建的对象
大白话:将来有个变量里面存放的是一个对象,但是对象还没创建好,可以先给个null
类型转换
JavaScript是弱数据类型: JavaScript也不知道变量到底属于那种数据类型,只有赋值了才清楚
坑:使用表单、prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算
console.log('10000' + '2000') 运行结果100002000
此时需要转换变量的数据类型
通俗来说,就是把一种数据类型的变量转换成我们需要的数据类型。
1.隐式转换
某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换
规则:
+ 号两边只要有一个是字符串,都会把另外一个转成字符串
除了 + 以外的算术运算符比如 - * / 等都会把数据转成数字类型
缺点:转换类型不明确,靠经验才能总结
小技巧:
+ 号作为正号解析可以转换成Number
2.显式转换
编写程序时过度依靠系统内部的隐式转换是不严谨的,因为隐式转换规律并不清晰,大多是靠经验总结的规律
为了避免因隐式转换带来的问题,通常需要对数据进行显示转换
转换为数字型(Number)
Number(数据)
如果字符串内容里有非数字,转换失败时结果为NaN(Not a Number)即不是一个数字
NaN也是number类型的数据,代表非数字
parselnt(数据)
只保留整数
parseFloat(数据)
可以保留小数
转换为字符型:(String)
String(数据)
变量.toString(进制)