JavaScript的认识及基础语法–变量,函数
JAVAscript
特点:
1.轻量
2.可插入HTML页面编程代码
3.插入HTML后,可用所有浏览器执行
javascript又叫ECMAscript5 ECMAscript6 ECMAscript7
es5 es6 es7
js是一个编程语言 web 页面上
JS嵌入网页的方式
1.内嵌(在head或者body里面内嵌都是可以的,要注意代码是否会报错)
2.外部引入(引入外部文件 在head或者body)
JS的注释
单行注释://
块注释:
JS语法严格区分大小写
JS语法–变量
js字面变量分为变量和常量
1.变量是存放可变化值的量
2.常量是存放不可变化的值 3.14
js定义字面量
关键字 var这个关键字可以定义任意类型的变量
定义规则:var 名称=值
命名规则(驼峰 帕斯卡)
js里面var声明变量可以存储任何类型的值
number(null)
```javascript
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>js的基础语法-变量</title>
<script>
/* js里面的数据类型 分为两种类型
1值类型 --存储在栈里面 使用空间固定 num bllearn string underfined null 检测值类型 typeof
2引用类型--储存在堆里面 使用空间不固定 使用指针来引用 复制该元素复制的引用类型指针
object array(数组) tunticon 检测引用类型
undefined 表示变量没有值
null 空值
js里面定义变量可以不写关键字
js里面的变量有作用域区分
1.全局变量
2.局部变量
3.根据代码块来区分作用域
这些概念属于相对理论 在代码块的外部叫全局(直属windo)内部的叫局部
全局变量在任何地方都可以使用
局部变量只能在当前作用域内部使用
使用var定义的变量不可删除
不使用var 声明的变量可以删除
*/
var name = 'mark';
console.log(name);
var num = 1;
var null1 = null;
var not = undefined;
var obj = {};
console.log(typeof not);
var method = function (){}
console.log(typeof method);
console.log(method instanceof Function);
var m1 = '10';
var m2 = "abc";
console.log(Object.getOwnPropertyDescriptor(window, "m1"));
console.log(Object.getOwnPropertyDescriptor(window, "m2"));
// delete m1;
// delete m2;
// console.log(m1,m2);
// var all = "www";
// function method1(){
// console.log(all);
// }
// function method2(){
// console.log(all);
// }
// method1();
// method2();
//js里面声明提前的问题
console.log(number);
var number = 100;
// console.log(number);
</script>
</head>
<body>
</body>
</html>
JavaScript的函数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
/* 函数
函数是引用类型
函数是由事件去当或者倍调用执行的 重复 代码块
关键字: funtion
定义规则: function 名称(){}
函数也存在声明提前
*/
console.log(fun instanceof Function);
function fun(){
/*
函数体内部写的是可执行代码
*/
console.log("该函数被执行");
}
//执行函数,函数名称()
fun();
///匿名函数--没有名称的函数
// 匿名函数是没有声明提前的
console.log(fun1);
var fun1 = function (){
console.log("匿名函数执行")
}
fun1();
//自执行函数,也就是匿名函数
(function (){
console.log("自执行函数运行");
})();
//函数的参数问题
//参数分为形参 实参(传入的值)
//函数的形参是名称,隔开 参数的个数没有固定
function params(a,b,c){
console.log(a,b,c);
}
params(1,"ab",true);
//匿名函数传参
var params1 = function (a,b,c,d){
console.log(a,b,c,d);
}
params1(10,"bas","dsd");
//自执行函数传参
(function (a,b,c,d){
console.log(a,b,c,d);
}
)
(1,2,3,4)
//函数无形参列表,传递实参
//参数列表对象 argument
//argument 集合类型 也是数组型 key:value 也叫索引
function par(){
console.log(arguments[0]);
console.log(arguments[1]);
console.log(arguments[2]);
console.log(arguments[3]);
}
par(1,2,3,4);
let par1 = function(){
console.log(arguments[0]);
}
par1("abcdef");
(function(){
console.log(arguments[0]);
console.log(arguments[1]);
})(1,2);
//带返回值函数
//函数体内部带return 值(任意类型)
function getname(){
/*
执行代码
*/
return "张三";
}
console.log(getname());
let getsex = function (){
/*
执行代码
*/
return "男";
}
console.log(getsex());
let age = (function(){
/*
可执行代码
*/
return 18;
})();
console.log(age);
//函数带参数列表+返回值
//变量的生命周期
//全局变量生命周期 从定义开始 --当前网页关闭之后结束
//局部变量的声明周期 从定义开始--当前函数执行完成结束
//变量的声明同名的问题
var data = 10;
function getdata(){
console.log(data);//考虑声明提前
var data = 20;
console.log(data);
}
getdata();
</script>
</head>
<body>
</body>
</html>