零基础前端-001-JavaScript 的基本语法

JS 的基本语法

一、JS基本知识

1、JS的字面量和变量

​ ·不可改变的值,也称常量,可以直接使用,但不会直接使用常量,通常放在变量里面保存。

​ ·变量的声明

var a
2.JS中的数据类型
  1. 基本数据类型(五大类)

    String,Number,Boolen,Undefined,Null

  2. 引用数据类型
    Object,Function,Array

在栈内存保存一段地址,指向堆内存中的对象,所以当两个对象指向同一段地址时,里面的属性改变,另一个指向该属性的对象也改变

当比较两个引用的数据类型时,比较的是他们的内存地址

3.判断
  1. type of(A type of B)

    返回数据类型的字符串表达 例如:‘String’

    注意:Null和Object无法判断 Object和Arr无法判断

  2. instanceof

    专门用来判断对象类型(实例化)

  3. ===(全等)

4.JS中对象的分类
  • 内建对象:java中的对象
  • 宿主对象:浏览器中的对象(BOM,DOM)
  • 自定义对象:开发人员创建的对象

二、JS对象的基本操作

1.创建js对象
var obj = new Object();
//Object()调用函数,new关键字来构造函数
2.向js对象中添加属性

​ 向对象中添加属性

//对象.属性名='属性值'
obj.name='张三';
//当使用特殊的属性名时
obj["属性名"]='属性值'
3.删除JS属性
delete obj.name;
//delete 对象.属性名
4.in运算符
//"属性名" in obj 
"name" in obj;

​ 检查obj中是否有该属性,返回true or false

三、JS函数

函数也是一个对象,但封装了一些功能,在需要时执行。

1.创建一个函数
var fun = new Fuction();

​ 要封装的代码卸载构造函数,函数中的代码会在调用中运行调用函数,当调用函数时,函数中的代码会执行

2.使用函数声明创建js函数对象

1.function 函数名 (形参1,形参2,…){

​ 函数调用语句1;

​ 函数调用语句2;

​ }

​ 2.function 函数名(){

​ js代码;

​ }

​ 当调用该函数时会调用该函数里面的代码

​ 3.var 函数名= function(){ };

​ 将匿名函数赋值给一个函数对象

3.函数的参数

​ (1)定义一个求和函数

function sum(a,b)

​ (2)调用函数

sum(1,2)

4.函数的返回值

​ 可以使用return值,定义一个变量来接收一个结果,但写在return之后的语句都不再执行

​ 若不写return或return之后没有返回值,返回undefined

5.立即执行函数/匿名函数自调用
(function(){...})();
//会立即执行,执行一次
6.枚举对象中的属性
for(var index in obj){
    //有几个对象就执行几次
}

四、作用域

1.全局作用域
  • 在页面打开时创建,页面关闭时销毁
  • 在全局作用域中,有一个全局对象window,代表浏览器窗口,它由浏览器窗口创建,我们可以直接使用
  • 在全局作用域中,创建的变量都是window对象的属性,创建的方法都是window对象的方法(window.alert()或alert())
2.变量、函数提升(变量、函数的声明提前)

​ (1)变量提升: 通过var来定义(声明)一个变量,在定义此语句之前就可以访问到该变量,只是该变量还未赋值,显示undefined

<script>
console.log(a)//undefined
var a= 1;
console.log(a)//1
</script>

​ (2)函数提升:通过function声明的函数,在浏览器创建时就已经创建好此函数,所以在function代码块前面的函数,已经可以调用function了

fun();//可以调用
function fun(){
    console.log("hello!")
}

​ (3)通过var方法定义的函数,属于第(1)种情况(变量声明),所以显示undefined

console.log(fun)//undefined
var fun=function (){
    console.log("hello!")
}
console.log(fun)//hello!
3.函数作用域

(1)写在function内部的内容,在函数调用时创建,在函数结束时销毁。

(2)每调用一次函数就会产生一个新的作用域。

function fun(){
    console.log("hello!")
}
fun();

(3)在函数作用域中,可以访问全局变量。

var a=123;//全局变量
function fun(){
    console.log(a)//输出123,可以访问全局变量
}
fun();

(4)若在函数中定义一个与外面相同变量名的变量,函数会优先在内部找

var a=123;//全局变量
function fun(){
    var a=456;//在函数调用时创建,在函数结束时销毁
    console.log(a)//输出456,因为函数内部有a,优先使用函数内部的
}
fun();
console.log(a)//输出123,函数内部的a已经销毁

(5)如果在函数内部没有声明var的变量,都默认是全局变量,会修改全局变量的值

var a=123;//全局变量
function fun(){
    a=456;//没声明var,默认是全局变量的a,修改a=456
    console.log(a)//输出456,因为函数内部有a,优先使用函数内部的
}
fun();
console.log(a)//输出456,全局变量a已经被修改
  • 10
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值