一、什么是JS?
js即javascript
分为:ECMAscript5、ECMAScript 6、ECMAsCript 7
js是一个编程语言 web页面上
特点:轻量级,很容易使用。
二、js如何嵌入到网页里面?
内嵌 (在head或者body里面内嵌都是可以的 要注意代码是否可能会报错)
外部引入 (引入外部文件 在head或者body)w1
三、js的注释:
单行注释: // ctrl+/
多行注释: /**/ ctrl+shift +/
四、最基本的格式:
<script type="text/javascript"> /* * 写执行代码 * */ </script>
五、注意的问题:
js语法严格区分大小写
js字面量分为变量和常量
变量是存放可变化值的量
常量是存放不可变化的值
js里面如何定义字面量
关键字 var 这个关键字可以定义任意类型的变量
定义规则:var 名称=值;
命名规则:以字母开头,或者$ _开头 严格区分大小写
定义变量 只定义变量 不赋值
console.log()输出变量到控制台
js里面var声明的变量可以存储任何类型的值
六、js中基本语句:
代码:
var ts=110; console.log(ts);
运行结果:
代码:
var np; console.log(np);
运行结果
undefined:空值
js里面定义多个变量代码:
var yy=10,txy=14,kym=16;
console.log(yy,txy,kym);
运行结果:
七、js里面的数据类型:
- number 数字型
- boolean 真假(true/false)
- string 字符串类型
- undefined 未定义类型
- null 空值
- Object 对象型
typeof:检测变量数据类型
代码:
var num=5;
console.log(typeof num);
var bool=true;
console.log(typeof bool);
var str="Hello";
console.log(typeof str);
var undefined;
console.log( typeof undefined);
var nu=null;
console.log(typeof nu);
var obj={};
console.log(typeof obj);
var ls=function(){};
console.log(typeof ls);
结果:
引用类型存储在堆上的使用空间不固定使用指针来引用制该元素复制的是引用类型的指针 object、array(数组)、function(js函数)、检测引用类型:instanceof代码:
var ls=function(){}; console.log(typeof ls); console.log(ls instanceof Function);/*检测ls是否为函数*/结果:
在这里注意一下null和undefined的区别
null:表示为空值
undefined:表示变量没有值
js里面的变量有作用域区分
分为局部变量和全局变量
js里面定义变量可以不写关键字,不写关键字声明的变量为全局变量。
代码:
结果:
js定义变量中写var和不写var的区别
代码:
var m1="110"; m2="abc"; console.log(Object.getOwnPropertyDescriptor(window,"m1")); console.log(Object.getOwnPropertyDescriptor(window,"m2"));由于js里面定义的变量全部属于window 在window里面获取变量属性值结果:
writable:可写的、 value:值、enumerable:可列举的、configurable:可配置的js里面的全局和局部变量
怎么区分全局和局部
根据代码块来区分作用域
这些概念属于相对理论 在代码块的外部叫全局(直属window) 内部的叫局部js里面声明变量提前的问题这是正常情况下:
结果:
声明变量提前的情况下;
结果:
八、js里面的函数:
函数:是引用类型
函数是由事件驱动或者被调用执行的 重复 代码块
关键字: function
定义规则:function 名称(){}
常规函数也存在声明提前
1、普通函数的代码(可以变量提前):
结果:
2、匿名函数:没有名称的函数(匿名函数是没有声明提前的)
代码:
结果:
3、自执行函数:也就是匿名函数
代码:
结果:
函数的参数问题
参数分为形参 实参(传入的值)
函数的形参 是名称,隔开
形参的类别 、个数 不定,根据自己的需求代码:
结果:
2、匿名函数传参:
代码:
结果:
3、自执行函数传参:
代码:
结果:
函数无形参列表传递实参
参数列表对象 arguments
arguments 集合类型 也是数组型 key(键):value(值) key也叫索引 0开始
代码:
结果:
2、匿名函数的传参:
结果:
3、自执行函数的传参
代码:
结果:
带返回值函数
函数体内部带return 值(任意类型)代码:
结果:
2、匿名函数
代码:
let和var的区别:var定义的变量是全局变量或者函数变量;let定义的变量是块级的变量。这里let和var都可以用。
结果:
3、自执行函数:
代码:
(第一种写法)
(第二种写法)
结果:
![]()
变量的声明同名的问题:
结果: