725笔记
Javascript
-
实现动态效果+数据交互
-
是一门编程语言(脚本语言,不是真正的编程语言)
- 编程:让计算机为解决某个问题而使用某种程序设计语言编写程序代码,最终得到结果
-
是一种运行在客户端的脚本语言(不能单独去运行,必须借助html)
- 脚本语言:不需要编译,运行过程中由js解析器(js引擎)逐行进行解释并执行
- 现在也可以基于Node.js技术来进行服务器端编程(此时不是前端而是服务端)
-
是弱类型语言,因为语法不是那么严格
JS作用
-
表单动态校验:手机号码是否正确的验证等
-
网页特效:轮播图等
-
服务端开发(nodejs)
-
桌面程序
-
APP
-
控制硬件---物联网
-
游戏开发
浏览器执行JS
浏览器分为两部分:
- 渲染引擎:用来解析html和css的,俗称内核---比如谷歌浏览器内核blink
- JS引擎:JS解析器,用来读取网页中的Javascript代码,对其处理后逐行运行---比如谷歌的v8引擎
JS的组成
ECMAScript(语法), BOM(浏览器对象模型), DOM(文档对象模型)
JS的几种引入方式
-
行内式:可以将单行或少量js代码写在html标签的事件属性中(以on开头的属性,如onclick)
- 单双引号要错开使用。html中推荐使用双引号,js中推荐使用单引号
- 可读性差,在html中编写大量js代码,不方便阅读,引号容易弄混
<input type="button" value="点我" onclick="alert('hello')"> //onclick 是一个点击事件 后面写js执行的代码 //alert 弹出弹窗 -
内嵌式:可以将多行js代码写在script标签中,是学习最常用的方式
<script> alert(123) alert(9) </script> -
外部式:适合js代码量比较大的情况,利于html代码的结构化,把大段的js代码独立到html页面之外,方便复用
- 引用外部js文件的script标签中间不可以写代码
- 因为是逐行执行,有时需要注意引入顺序
<script src="./index.js"></script>
JS注释
单行注释:ctrl+/
多行注释:alt+shift+a
JS的输入输出语句
- alert('浏览器弹出警示框')
- console.log('浏览器控制台输出信息')
- prompt('浏览器弹出输入框,用户可以输入,有确定和取消按钮')
//alert和console一般用来检查我们的代码是否有错误
变量
什么是变量?
- 变量就是一个装东西的盒子
- 变量是用于存储数据的容器,我们通过变量名获取数据,甚至数据可以更改
变量在内存中存储
变量是程序在内存中申请的一块用来存放数据的空间,类似酒店的房间,一个房间可以看成一个变量
变量使用
-
变量声明:var是js的关键字,用来声明变量的,用该关键字声明的变量,计算机会自动为变量声明内存空间,不需要程序员管
var name; //声明了一个名称为name的变量 //name是程序员定义的变量名,我们要通过变量名去访问变量 -
变量赋值:把等号右边的值赋值给左边的变量,变量值就是程序员保存到变量空间里的值。
name="张三" //给name变量赋值为“张三” -
变量初始化
var aa = 123; //声明变量并赋值---称为变量的初始化 -
变量的扩展
var bb =123; bb = 44; //一个变量被重新赋值,原来的值会被覆盖,变量值将以最后一次赋的值为准var age=23, n=34, sex="男" //同时声明多个变量,只需要写一个var,多个变量名之间用逗号隔开 -
变量的特殊情况(如果上一行代码报错,后面的代码就不会执行)
var cc; console.log(cc); //只声明不赋值,默认值是undefinedconsole.log(dd); //不声明不赋值,直接使用,报错:dd is not definedee=45; console.log(ee); //不声明只赋值,得到的结果是45 -
变量的命名规范
- 由字母,数字,下划线,$组成,如:num01, _age, $axios...
- 严格区分大小写,var a 和 var A 是两个变量
- 不能以数字开头
- 不能是关键字,保留字:如var, for, if, else, while, do...
- 要有语义化
- 遵守驼峰命名法,首字母要小写,后面单词的首字母要大写 如myFirstName
数据类型
变量存储的数据,可以是各种类型的数据
简单数据类
数字Number
var age = 23; //整数
var f = 23.5; //小数(浮点数)
isNaN()用来判断变量是否为非数字的类型,返回true(不是数字)或false
varusAge = 21;
var isOk = isNaN(usAge)
console.log(isOk)
---------------------------
var userName = "Lucy"
console.log(isNaN(userName))
浙公网安备 33010602011771号