day1
javascript
javascript是 一种运行在客户端(浏览器)的编程语言,实现人机交互效果。
作用:
-
网页特效(监听用户的一些行为让网页做出对应的反馈)
-
表单验证 (针对表单数据的合法性进行判断)
-
数据交互 (获取后台的数据,渲染到前端)
-
服务器编程 (node.js)
javascript的组成是什么?
- ECMAScript: 规定了js的基础语法核心知识。
如:变量,分支语句,循环语句,对象等。
-
Web APIs: DOM 操作文档,比如对页面元素进行移动,大小,添加删除等操作。
BOM 操作浏览器,比如页面弹窗,检测窗口宽度,存储数据到浏览器等等。
注意:DOM属于BOM
如何引入js文件
内部js
-
直接写在html文件里,用script包裹 。
-
写在上面。
<body>
<!-- 内部JavaScript 直接写在html文件里,用script包裹 -->
<!-- 写在/body上面 -->
<script>
// 可以在这里面写js代码
// alert("你好,js 4399") 页面弹出警告对话框
alert("你好js 4399")
</script>
</body>
</html>
注意:我们将
如果先加载的JavaScript期望修改其下方的html,那么他可能由于html尚未被加载而失效。
因此,将JavaScript代码放在html页面的底部附近通常是最好的策略。
外部js
-
把js代码单独写在一个js文件里,再引入到HTML文件。
-
用****引入 写在上面。
<body>
<!-- 外部js 引入外部js文件 -->
<script src="./02-外部弹窗.js"></script>
</body>
</html>
注意:1.script标签中间无需写代码,否则会被忽略!
2.外部JavaScript会使代码
内联js
内联js 不常用, 编写代码体验不好。
直接写在标签里面,用onclick="里面写js代码 " ;
注意 :外面如果是双引号包裹的, 里面只能用单引号;
外面如果是单引号包裹的,里面只能是双引号,否则失效。
<body>
<!-- 内联js 不常用, 编写代码体验不好 -->
<!--
注意 外面如果是双引号包裹的, 里面只能用单引号;
外面如果是单引号包裹的,里面只能是双引号,否则失效。
-->
<button onclick="alert('点击月薪过万')">点我呀~~</button>
<button onclick='alert("点击月薪也过万")'>点我把~~</button>
<div onclick='alert("点击月薪也过万")'>点我把~~</div>
</body>
</html>
JavaScript注释
单行注释
快捷键:ctrl + /
// 单行注释
块注释
快捷键:shift + alt + /
/* 多行注释 */
JavaScript的结束符
结束符 ;
代表语句结束
用英文分号;代表
英文分号可以写也可以不写,因为换行时是会自动识别是代表结束
所以在写代码时不会随便换行,因为是代表结束
以后工作中加不加无所谓,看团队有没有加。
输入输出语法
什么是语法:人和计算机打交道的规则约定。
我们要按照这个规则去书写。
输出语法:
- document.write("通过js加进去的内容");
直接在body标签写内容;
<SCRipt>
// 直接在body标签写内容
document.write("通过js加进去的内容")
</SCRipt>
</body>
- alert('要输入的内容') ;
页面弹出警告对话框;
<body>
<SCRipt>
// 页面弹出警告对话框
alert('要输入的内容')
</SCRipt>
</body>
-
console.log("控制台打印");
推荐使用 控制台 log;
<body> <SCRipt> // 输出:3. 推荐使用 控制台 log console.log("控制台打印") </SCRipt> </body>
输入语法
输入: prompt("请输入你的姓名")
会弹出一个让用户输入的框框,用来获取用户输入的信息,()括号的内容是提示用户该输入什么的文本
可以自定义一个变量的名称,如username(注意不要加引号,变量词最好有语义的) =用户输入的内容:
输出里面直接写这个变量词就行
<SCRipt>
username =prompt("你的姓名是什么呢?")
// 输出
document.write(username);
alert(username);
console.log(username)
</script>
如果要收集多个信息,输出可以把变量词连写;
示例:
<SCRipt>
username =prompt("你的姓名是什么呢?")
dizhi =prompt("你住哪里呢?")
like =prompt("你的爱好是什么呢?")
yinyue =prompt("最喜欢的音乐?")
yundong =prompt("最喜欢的运动?")
// 能不能在一行上直接输出 不要换行
// 可以使用一个 + 表示链接
console.log(username + dizhi + like + yinyue + yundong);
</script>