<meta charset="utf-8">
一 、基本的输入状态
二、什么是js (javascript)
与网页进行交换的脚本语言,具有一定的逻辑性
三、js的组成部分? (重点)
1 . ECMASCRIPT 定于语法规范 (关键字、保留字)
2\. DOM 文档对象模型 (用代码控制元素) (有规范)
3\. BOM 浏览器对象模型 (用代码控制 前进,后退,刷新,调用打印)
四、初体验js的三句话
- 1 .在控制台输出
console.log("你好"); //console 开发人员,测试使用
- 在页面上显示
document.write("你好");
document.write("<a href='#'>百度</a>")
- 对话框
alert("你好!");
五.js脚本的特点 (了解)
(1) 脚本语言。JavaScript是一种解释型的脚本语言,C、C++等语言先编译后执行,而JavaScript是在程序的运行过程中逐行进行解释。
(2) 基于对象。JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。
(3) 简单。JavaScript语言中采用的是弱类型的变量类型, 对使用的数据类型未做出严格的要求.
(4) 动态性。JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操作,JavaScript都可直接对这些事件给出相应的响应。
(5) 跨平台性。JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提是机器上的浏览器支持JavaScript脚本语言,目前JavaScript已被大多数的浏览器所支持。
六、注释
- 单行注释
// console.log("hi"); ctr+ / 当行注释快捷键
- 多行注释
/**
console.log("hi");
console.log("hi");
console.log("hi");
**/
多行注释 shift+alt+a
注意:多行注释的快捷点非常不友好,就改掉 快捷
在搜索框里输入 shift+alt+a
改快捷键 ctr+shift+/
七、引入外部文件,使用script
标签 (了解)
- 细节,一旦使用src属性,那么该
script
标签内就不能编写任何代码,所有的代码,都必须放外部的js文件.
- 细节,一旦使用src属性,那么该
- js的解析引擎,属于单线程,正常情况,遇到了script,就终止html的解析,此时理解执行script的代码.我们将会遇到 js不能操作dom.
目前解决方案
- js的解析引擎,属于单线程,正常情况,遇到了script,就终止html的解析,此时理解执行script的代码.我们将会遇到 js不能操作dom.
- 把scrip放置
body
标签的后面 - 在
script
标签上面添加async
或defer
,能实现异步 (先把所有的html解析完后,在执行script代码)
注意:async
和defer
都是异步,但是有区别
-
defer
异步之后执行,按照顺序执行代码 -
async
异步之后执行,按照网络加载的速度来执行 (用得少,打乱依赖关系)
八、 charset 设置字符串编码集 (了解)
<script charset="utf-8">
</script>
九 、数据类型 (重点)
- 1.ES3的时候,js的数据类型只有6个
- js的数据类型,属于弱类型,类型可以随意修改;
- js声明变量可以不赋予初始值 (不推荐)
值类型
string 字符串类型 , 由一组双引号或者一组单引号组成.
number 数值类型 , 它包含(整型,浮点) 浮点:小数点类型
boolean 布尔类型 ,它的世界里只有(true和fasle) true真,fasle假
null 空指针 (方便理解: 是个寂寞,大家说的寂寞是同一个)
undefined 未定义类型,申明变量不赋予初始值,默认值就是undefined
object 对象类型(引用类型)
系统定义: Object,Array,Function,Date...
自定义的: 构造函数或者 类 定义自己的类型
十、如何定义变量
定义变量使用 var关键字 var variable
var strName; //它的默认值是undefined
strName="刘德华";// 在内存中开辟一个空间,空的名字叫做strName,该空间里装值是 刘德华
注意: =
,它会改变代码的指向顺序,会从右往左赋值,而且=
还会进行隐式换行;
十一 、命名规则 (重点)
1, 变量名可以是数字,字母,下划线_和美元符$组成;
2, 不能为数字开头;
3, 不能使用关键字或保留字
4, 标识符区分大小写,如:age和Age是不同的变量。但强烈不建议用同一个单词的大小写区分两个变量。
5, 变量命名尽量遵守驼峰原则: myStudentScore
6, 变量命名尽量见名思意, 可参考下图
十二 、其他类型转boolean类型 (重点)
Boolean 类型的转换规则: (牢记)
String: 非空字符串为true, 空字符串为false
Number: 非0数值为true, 0或者NaN为false
Object: 对象不为null则为true, null为false
Undefined: undefined为false
//在做运算的时候,才容易出现 NaN
NaN : not a number 不是一个数组
NaN 属于 number类型,(特殊的值)
//特殊的值: NaN,undefined,null;
十三 、其他类型转number类型
1.隐式转换
除了加法以外的运算,都是隐式转换 ,还有 = 也能做隐式转换
var sName="100";
sName-0 // 100
sName*1 // 100
sName/1 //100
2.强制转换
使用了一些函数来除了
Boolean() 转bool类型
parseInf() 转数值类型,可以带单位 ,只会保留整数
parseFloat() 转数值类型,可以带单位,会保留小数点
Number() 转数值类型
作者:千锋罗赞
链接:https://www.jianshu.com/p/b8850be37639
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。