黑马程序员JS学习第一天
目录
一、JavaScript介绍
1、JavaScript是什么
2、JavaScript书写位置
3、JavaScript的注释
1. 单行注释
2. 块注释
4、JavaScript的结束符
5、输入和输出语法
1. 输出语法:
2. 输入语法:
二、变量
1、变量基本使用
1. 声明变量
2.变量赋值
3、变量的本质
4、变量命名规则与规范
2、变量拓展
1.声明语法
2.取值语法
3. 一些术语:
三、数据类型
1、数据类型
1.基本数据类型
2.引用数据类型
2、检测数据类型
数据类型 – 数字类型(number)
2、检测数据类型
四、类型转换
1、为什么要类型转换
2、隐式转换
3、显式转换
一、JavaScript介绍
1、JavaScript是什么
JavaScript是什么?
JavaScript是一种运行在客户端(浏览器)的编程语言
JavaScript的组成是什么?
ECMAScript(基础语法)、web APIs (DOM、BOM)
2、JavaScript书写位置
<script>alert('努力,奋斗!')</script>
</body>
【注意事项】我们将 <script> 放在HTML文件的底部附近的原因是浏览器会按照代码在文件中的顺序加载 HTML。如果先加载的 JavaScript 期望修改其下方的 HTML,那么它可能由于 HTML 尚未被加载而失效。因此,将 JavaScript 代码放在 HTML页面的底部附近通常是最好的策略。
<body><script src="my.js"></script>
</body>
【注意事项】1. script标签中间无需写代码,否则会被忽略!2. 外部JavaScript会使代码更加有序,更易于复用,且没有了脚本的混合,HTML 也会更加易读,因此这是个好的习惯。
<body><button onclick="alert('努力,奋斗!')">赚钱</button>
</body>
注意事项:①书写的位置尽量写到文档末尾 </body> 前面②外部 js 标签中间不要写代码,否则会被忽略
3、JavaScript的注释
1. 单行注释
快捷键:ctrl + /
2. 块注释
快捷键:shift + alt + A
4、JavaScript的结束符
5、输入和输出语法
1. 输出语法:
document.write('要输出的内容');
alert('要输出的内容');
console.log('控制台打印')
2. 输入语法:
prompt('请输入您的姓名:');
二、变量
1、变量基本使用
1. 声明变量
let 变量名
2.变量赋值
age = 18
let age = 19
3、变量的本质
4、变量命名规则与规范
let 和 var 区别:let 为了解决 var 的一些问题var 声明:可以先使用 在声明 (不合理)var 声明过的变量可以重复声明(不合理)比如变量提升、全局变量、没有块级作用域等等结论:以后声明变量我们统一使用 let
2、变量拓展
let arr = []
1.声明语法
let 数组名 = [数据1, 数据2, ···, 数据n]
2.取值语法
数组名[下标]
3. 一些术语:
let names = ['小明', '小刚', '小红', '小丽', '小米']
console.log(names[0]) //小明
console.log(names[1]) //小刚
console.log(names.length) //5
三、数据类型
1、数据类型
1.基本数据类型
2.引用数据类型
2、检测数据类型
数据类型 – 数字类型(number)
let score = 100; //正整数
let price = 12.345; //小数
let temperature = -40; //负数
JS 是弱数据类型,变量到底属于那种类型,只有赋值之后,我们才能确认Java是强数据类型 例如 int a = 3 必须是整数
let user_name = ''; //使用单引号
let gender = ""; //使用双引号
let str = '123'; //看上去是数字,但是用引号报过了就成了字符串了
let str1 = ''; //这种情况叫空字符串
注意事项:1. 无论单引号或是双引号必须成对使用2. 单引号/双引号可以互相嵌套,但是不以自已嵌套自已(口诀:外双内单,或者外单内双)3. 必要时可以使用转义符 \,输出单引号或双引号
变量是不能加引号的,加了引号就变成字符串了
eg:
console.log('num') //输出结果是num
输出需要引号情况(引号匹配错误)
//外单内双 外双内单
console.log('我是"hhh"') //输出我是"hhh"
字符串拼接:
document.write('我叫' + '刘德华')
let uname = '刘德华'
let song = '忘情水'
document.write(uname + song)
document.write('大家好,我叫' + name + ',今年' + age + '岁')
``
document.write(`大家好,我叫${name},今年${age}岁`)
let age //声明变量但是未赋值
document.write(age) //输出undefined
let obj = null
2、检测数据类型
let age = 18
let uname = '刘德华'
let flag = false
let buy
console.log(age) //18(蓝色)
console.log(uname) //刘德华
console.log(flag) //false(蓝色)
console.log(buy) //undefined
let age = 18
let uname = '刘德华'
let flag = false
let buy
console.log(typeof age) //number
console.log(typeof uname) //string
console.log(typeof flag) //boolean
console.log(typeof buy) //undefind
四、类型转换
1、为什么要类型转换
console.log('10000' + '2000') //输出结果 100002000
2、隐式转换
+ 号两边只要有一个是字符串,都会把另外一个转成字符串除了+以外的算术运算符 比如 - * / 等都会把数据转成数字类型
<script>console.log(11 + 11) //22console.log('11' + 11) //1111console.log(11-11) //0console.log('11'-11) //0console.log(1 * 1) //1console.log('1' * 1) //1console.log(typeof '123') //stringconsole.log(typeof +'123') //numberconsole.log(+'11' + 11) //22
</script>
3、显式转换
console.log(String(10))
let age = 10
console.log(age.toString())
//括号里面如果是2,转换为二进制
console.log(age.toString(2))
【常见错误】
<body><script>let num1 = prompt('请输入第一个数')let num2 = prompt('请输入第二个数')alert(num1 + num2)</script>
</body>
分析:1. 出现字符相加的问题2. prompt 如果出现相加 记得要转为数字型
黑马程序员JS学习第一天相关推荐
- 2022黑马程序员-前端学习第一阶段(Day01-HTML的认知)
HTML的认知-Day01 学习笔记打卡 HTML认知 基础概念铺垫(了解) 认识网页 五大浏览器和渲染引擎 Web标准(了解) HTML初体验 HTML的感知 HTML骨架结构 开发工具的使用 语法 ...
- 【C++】黑马程序员 C++学习课程—C++核心编程
[C++]黑马程序员 C++学习课程-C++核心编程 黑马程序员 C++学习课件, 为自用版本,单纯为了学习和查找资料更加方便 本阶段主要针对C++面向对象编程技术做详细讲解,探讨C++中的核心和精髓 ...
- 黑马程序员Maven学习笔记
前言 这里是黑马程序员Maven学习笔记分享,这是视频链接. 我还有其它前端内容的笔记,有需要可以查看. 文章目录 前言 基础 Maven简介 Maven是什么 Maven的作用 Maven的下载 M ...
- 黑马程序员C++学习笔记<第一阶段_基础篇>
配套视频网址: 黑马程序员:http://yun.itheima.com/course/520.html?bili B站:https://www.bilibili.com/video/BV1et411 ...
- 2023年黑马程序员Java学习路线图
2023年Java学科免费学习资源放送40+套课程,超过600小时的内容! 在过去的一年里,为了帮助更多人线上充电,学会更多技能,黑马程序员举办了 150+ 场免费直播公开课,新增精品视频教程 80+ ...
- 黑马程序员C++学习笔记(第三阶段核心:STL)--- 更新中
目录 迭代器 序列式容器 vector -- 可随机访问 list -- 不支持随机访问 deque -- 动态 关联式容器 -- 红黑树 map multimap set multiset -- 废 ...
- 黑马程序员视频教程学习mybatis框架常用注释SQL语句学习笔记?
mybatis学习笔记 常用注释增删改查SQL语句 常用注释拓展SQL语句 解决实体类属性和数据库表中的属性名称不相同的问题: mybatis注解之一对一查询: mybatis注解之一对多查询: my ...
- 黑马程序员C++学习-01
课程视频链接:黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难_哔哩哔哩_bilibili 目的:为了区分C语言和C++的区别,并且在学习的过程中,两者进行比较 笔记方式:只写C语言和C ...
- 黑马程序员Javaweb学习笔记01
该博客主要记录在学习黑马程序员Javaweb过程的一些笔记,方便复习以及加强记忆 文章目录 一 . BS架构,HTTP协议 http请求数据格式和相应数据格式 二 . web服务器 2.1 tomca ...
- 黑马程序员Javaweb学习笔记02【request和response】
该博客主要记录在学习黑马程序员Javaweb过程的一些笔记,方便复习以及加强记忆
最新文章
- 【转】提高PHP性能的53个技巧
- 助你成为嵌入式高手的100多个软硬件开源项目
- vs2019编译c语言提示有病毒,关于VS2019代码编译的问题(C++)
- matlab调用自己写的函数时报错: reference to a cleared variable
- 华为5ipro详细参数使用功能_华为nova6se和nova5ipro的参数配置对比评价
- mysql ssh 导入时注意问题
- otc机器人tp_发那科机器人TP 示教器按键使用简介
- ~《概率论》~贝叶斯公式
- 人工智能——状态空间的启发式搜索
- 14.STC15W408AS单片机IIC驱动OLED
- 如何对文件进行压缩和解压缩
- 92_目标:2019年底博客访问量达到10W+
- CSS3 页面布局
- Autodesk ReCap-现实捕获技术
- 【Spark】(五)Spark Transformation(转换算子) 和 Action(执行算子)
- 何华达回忆录:何华达经历的辛酸过去!
- 辽宁计算机相关硕士非全日制,辽宁地区院校非全日制硕士研究生招生专业汇总...
- 山水印|竹林野茶:万丈红尘三杯酒,千秋大业一壶茶
- 雪花算法的原理和实现Java
- Activiti进阶(一)——HelloWorld