赞
踩
我是跟着黑马程序员进行学习的,如果看不懂我写的,可以直接在B站看黑马程序员,会把练习题单独放出来进行练习,进行巩固知识点。
JavaScript 程序不能独立运行,它需要被嵌入 HTML 中,然后浏览器才能执行 JavaScript 代码。
内部形式——写在<body>之间
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8" />
- <title>demo</title>
- </head>
- <body>
- <script>
- alert("这是内部形式哦");
- </script>
- </body>
- </html>
外部形式——写在专门存放js的文件中,通过src路径将js文件引入html,书写的位置尽量写到文档末尾 </body> 前面
在index.js的代码如下
alert('这是外部形式哦')
在html文件的代码如下
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8" />
- <title>demo</title>
- </head>
- <body>
- <script src="index.js"></script>
- //注意,使用外部文件引入js文件时,script标签中不能写入其他的js代码
- //<script src="index.js">
- //alert('这里是不会显示的哦')
- //</script>
- </body>
- </html>
内联方式——就是写在html文件中的标签中(这里只是举个点击事件的例,后面会写alert等代码的用法)
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8" />
- <title>demo</title>
- </head>
- <body>
- <button onclick="alert('这是内联方式哦')">点击我</button>
- </body>
- </html>
js的注释有单行注释和多行注释
单行注释
符号://
作用://右边这一行的代码会被忽略
快捷键:ctrl+/
多行注释
符号:/* */
作用:在/* */之间的所有内容都会被忽略
快捷键:shift + alt + a
在 JavaScript 中 ;
代表一段代码的结束,多数情况下可以省略 ;
使用回车(enter)替代。
实际开发中有许多人主张书写 JavaScript 代码时省略结束符 ;
——输出语法
语法1:document.write('要输出的内容'),作用是向body输出内容
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- document.write('要输出的内容')
- //如果输出的内容写的是标签,也会被解析成网页元素
- document.write('<h1>加了标签输出内容</h1>')
- </script>
- </body>
- </html>
语法2:alert(‘要输出的内容’),作用是页面弹出警告对话框
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- alert('要输出的内容')
- </script>
- </body>
- </html>
语法3:console.log('要输出的内容'),作用是在控制台输出语法,程序员调试使用
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- console.log('要输出的内容')
- </script>
- </body>
- </html>
——输入语法
prompt('请输入您的姓名'),作用是显示一个对话框,对话框中包含一条文字信息,用来提示用户输入文字
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- prompt('请输入您的名字')
- </script>
- </body>
- </html>
按html文档流顺序执行js代码,alert()和prompt() 会跳过页面渲染先被执行
变量的使用分为两步:变量的声明与变量的赋值
语法:声明关键字 变量名(标识符)
声明关键字包括let,var,let 不允许多次声明一个变量。(const是声明常量,这三个都是声明关键字,只是声明的类型不同)
声明多个变量,中间用逗号隔开(为了可读性,并不推荐)
let age = 18,num = 20
- //声明一个变量
- let age
- //赋值,age是变量,18是字面量
- age = 18
- //输出age变量
- alert(age)
再简单点,在声明的同时完成赋值操作,这种操作也被称为变量初始化
let age = 18
直接给他一个不同的值来更新
- let age = 18
- age = 20
- alert(age)//此时age的数值已经更新为20
之前一直使用的是var进行声明变量,但是现在常见的还是用let声明变量。(var就是一个bug,别用了,以后统一使用let)
let——现在实际开发变量声明方式
var——以前的声明变量的方式,会有很多问题
const——类似于let,但是变量的值无法被修改
一种将一组数据存储在单个变量名下的方式,按顺序保存,都有自己的编号,从0开始,数组可以存储任意类型的数据
- let arr = [数据1,数据2,数据3,....,数据n]
- //arr变量,[数据1,数据2,数据3,....,数据n]为数组字面量
数组名[下标]
- let names = ['小明','小红','小李','小米']
- names[0]//小明
- names[2]//小李
数组中数据的个数,通过数组中的length属性获得
- let names = ['小明','小红','小李','小米']
- names[0]//小明
- names[2]//小李
- names.length//4
当某个变量永远不会改变的时候,就可以使用const来声明,命名规范和变量一致。常量不允许重新赋值,声明的时候必须赋值(初始化)
- //以下方法是错误的,千万不能这么写哦
- const age =9.8
- age = 10
- console.log(age)//会报错
js是弱数据类型,变量到底属于哪种类型,只有赋值之后,我们才能确认
js中优先级越高越先被执行,优先级相同时从左向右执行
NaN代表是一个计算错误,他是一个不正确的或者一个未定义的数学操作所得到的结果 ,任何对NaN的操作都会返回NaN
console.log('老师'-2) //NaN
通过单引号(' '),双引号(" "),或者反引号(` `)包裹的数据都叫字符串
注意事项:单引号和双引号没有本质区别,推荐使用单引号,必要时可以使用转义字符\,输出单引号或双引号
console.log("\'")//输出的是单引号
通过+运算符,连接字符串(作用是连接字符串与变量),口诀:数字相加,字符相连
- console.log('无敌'+'暴暴龙') //无敌暴暴龙
- console.log(2+4) //6
``(反引号),在拼接变量时,用${}包住变量
- const age = 18
- console.log(`我的年纪刚满${age}岁~`) //我的年纪刚满18岁~
有固定的两个值,分别为true和false,表示肯定的数据用true,表示否定的数据用false
- let isTrue = true
- let isFalse = false
- console.log(isTrue) //true
- console.log(isFalse) //false
只有一个值undefined,只声明,不赋值,变量的默认值为undefined,使用场景是在开发中声明一个变量,等待传送过来的数据,如果不知道这个数据是否传递过来,此时可以通过检测这个变量是不是undefined,就判断用户是否有数据传送过来。
- let age
- document.write(age)//页面输出的是undefined
null仅仅是代表一个“无”,“空”或“值未知”的特殊值(使用场景,将来有个变量里面存放的是一个对象,但是对象还没创建好,可以先给个null)
null和undefined的区别:
object-对象
通过typeof关键字检测数据类型
语法1:typeof x(常用的写法)
语法2: typeof(x)
- let age = 18
- console.log(typeof(age)) //number
- console.log(typeof age) //number
使用表单,prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,此时就需要是把一种数据类型的变量转换成我们需要的数据类型
通过某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换
规则:
技巧:
- console.log(11+11)//22
- console.log("11"+11)//1111
- console.log(11-11)//0
- console.log("11"-11)//0
- console.log(1*1)//1
- console.log('1'*1)//1
- console.log(typeof '123')//string
- console.log(typeof +'123')//number,就是+号起作用,将'123'字符串转为数字型
- console.log(+'11' + 11)//22
- console.log(123+ +'123')//246
- console.log(''-1)//-1
- console.log('pink'-1)//NaN
- console.log(null+1)//1
- console.log(undefined+1)//NaN
- console.log(NaN+1)//NaN
Number(数据)——如果字符串内容里有非数字,转换结果失败时结果为NaN,即不是一个数字(NaN也是number类型的数据,代表非数字)
paresInt(数据)——只保留整数
parseFloat(数据)——可以保留小数
String(数据)
变量.toString(进制)
目前第一天就学完咯,黑马程序员后面还有一些练习题,我会写在单独的一个文章里方便看,拜拜咯
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。