JavaScript
学习目标
1 理解变量
2 数据及分类
3 数据转换特点
JavaScript基础
本质:
是一种运行在客户端的编程语言,实现人机交互的效果。
思考:html是什么语言
html是标记语言 编程语言能体现逻辑思维
作用:
网页的特效(如老师演示的弹跳球小游戏)
表单验证(判断表单正确与否)
数据交互(获取后台数据,显示在前端)
服务端编程 (node,js 学好js也能开发后端)
JavaScript组成
一、语法本身
ECMAscript(基础语法):
就是一种规定,规定js核心语法怎么做。可以理解为是一个标准。
Web APIs:(js通过api 让我们操作网页元素)
DOM 操作文档 网页中的标签
BOM 操作浏览器 控制页面 打开关闭等操作 例如页面标签 刷新 打开新页面
注意:DOM属于BOM
知识拓展:我们想学习了解前端基础知识,可以进入火狐开发的mdn网站
JavaScript书写
内部js
**规范:**用script标签包住 写在html标签的body里边
<body>
<script>
// 在标签里写代码 标签放body里面 这样网页先加载出来 再弹窗
alert('我是黄某,今天第一天学js')
</script>
</body>
注意事项:浏览器会按照代码在HTML中的顺序读取,script标签如果写在前面,可能会导致网页还没生成完毕,js就生效了,体验不佳。
外部js
**语法:**用script标签 引入到HTML中,body里面
<body>
<script src="./js/外部js.js"></script>
</body>
**注意事项:**用了外部js引入 就不要在script标签里写代码 这样会导致冲突
内联js(了解)
**语法:**把代码写在标签属性内部
<body>
<button onclick="alert('黄某是傻逼')">点我,你就是傻逼</button>
<a href="#" onclick='alert("黄某你就是傻逼")'>我不是傻逼</a>
</body>
**注意事项:**在写代码的时候单引号里面只能出现双引号,双引号里面只能出现单引号
JavaScript注释
单行注释:ctrl+/
作用:右边代码会被忽略
// 在标签里写代码 标签放body里面 这样网页先加载出来 再弹窗
多行注释:ctrl+shift+a
作用:注释多行内容
/* 第二种写法 声明-输出
盒子叫 myname 里面东西是 'x'
拿出myname盒子的东西 */
JavaScript注释
本质
1.代表一个代码语句的结束 还是英文分号 “ ; ”
2.与css html不同的是:在js中 英文分号可写可不写,换行就可以
3.但是为了风格统一,如果写了每句都写,不写每句都不写 加不加都无所谓
知识拓展
现代化 前端项目的开发流程:
对代码会统一做公共设置
这个设置 会强制格式化 团队的代码
比如在写的时候没加分号 ,会自动加上
JavaScript输入输出语法
什么是语法:
人和计算机交流的规则指定,需要计算机看得懂
常见的输出框:
控制台输出 (常用)
作用:
1.通过F12在控制台中查看JS代码 只有程序员本身看得到
2.可以在控制台中调试错误,控制台会显示在哪出错 方便调试
<script>
// document.write('我是内容')
console.log('控制台 给程序员看')
</script>
JavaScript输入框 (举例)
作用:
弹出对话框,获取用户的输入
<body>
<script>
prompt('请输入你的姓名')
</script>
</body>
**思考:**怎么样可以输入后可以输出写的内容
引出新的知识:变量
变量
本质:
1.变量就是一个装东西的盒子
2.计算机用来存储数据的容器
使用:
1.相当于一个桥梁可以自定义一个名称 让它=用户输入的内容
2.可以把变量理解为一个加了名称的盒子,之后让这个盒子 = 某个内容
<script>
// 给pro输入框 放到一个叫user的盒子里面
user=prompt('你叫什么?')
// 拿出叫user盒子中的pro输入框
document.write(user)
</script>
注意点:变量名称不加引号
获取多次输出
<script>
// 1 你叫什么?
name=prompt('你叫什么?')
// 2 你家住哪?
live=prompt('你家住哪?')
// 3 你喜欢吃什么?
eat=prompt('你喜欢吃什么?')
// 4 你喜欢一个人听歌?
sing=prompt('你喜欢一个人听歌?')
// 5 你喜欢运动?
sport=prompt('你喜欢运动?')
// 如果写多个输出框 会换行 怎么不换行?
// 使用加号 表示连接
console.log(name+live+eat+sing+sport)
</script>
注意点:
1.变量名称不能一样,通俗讲每个房间名是不一样,才能找到对应的房间
2.如果输出框 一个一个写 那么输出的内容会换行 可以使用连写 不会换行