js基础使用

本文详细介绍了JavaScript的基础知识,包括变量的声明与提升,内存中的栈和堆存储,命名规范,作用域的全局与局部概念,以及数据类型的区分。深入探讨了基本数据类型和引用数据类型的差异,并讲解了数据转换的方法和类型检查的技巧。此外,还讨论了浅拷贝和深拷贝的概念及其应用。
摘要由CSDN通过智能技术生成

js基础

var变量


1.变量就是一个用来存储数据的容器。
2.声明变量使用var关键字
3.变量的声明
    例: var name=‘右侧叫表达式’;
    //var 是声明变量的关键字
   //name 是变量的名字
   //=赋值运算符
  //=右边 叫 表达式

var 的变量存在提升
4.var提升变量,只是吧变量提升到作用域的最顶层,变量的赋值不会提升,依然保留在原始位置


内存分配


1.内存中的栈【有序存储】:存储基础数据类型的数据【字符串,数组,布尔值】
2.内存中的堆【无序存储】:存储的是复杂、引用类型的数据【对象,数组】

变量命名规范


1.【准点】变量名不可以是js的关键字或保留字
2.变量的名字不可以用数字开头和其他非英文字母的字符,虽然可以用中文做变量名字,但一般不这样写
3.变量可以使用‘$’、‘-’、‘英文字母做变量名’
4.命名的时候应该遵循语义化规则:让变量有实际的含义,实在不行可以使用拼音【不推荐】
5.队友多个单词拼接的变量名应该使用驼峰命名法:
  --大驼峰命名法:myname=>MyName;每个单词的首字母大写
  --小驼峰命名法:myname=>myName:除了第一个单词,剩下的单词首字母大写
6.变量的首字母应该对应着数据类型
   --字符串:‘var s_name’
   --数组:‘var n_count’
   --.......

作用域


定义:程序生效的空间
全局作用域:script [脚本]
--顶级对象:window、document
--window又叫BOM
--document又叫DOM
--BOM包含着DOM
局部作用域:function [函数]、module [es6]
--顶级对象:this
--内部声明的变量
--声明在局部作用域中的变量不可以在外部使用,但是如果不使用关键字声明的变量,则会被提升到全局作用域中
--函数天生有返回值,返回值默认是undefined


数据类型


基本数据类型【内存的栈里面存储】
--数字
--字符串
--布尔值
--空值 null
--未定义  undefined
--不是数字 nan

引用数据类型【内存的堆里面存储】


--对象
--数组
--函数
--正则

浅拷贝


var s_name="老王"
var s_newName=s_name
s_name="小王"

深拷贝


var arr=[1,2,3]
var obj={}
var a_newArr=[]
for (var i=0;i<arr.length;i++){
   obj [ i ] = arr [ i ]
   a_newArr . push (JSON . parse (JSON . stringify (obj) ) )


基本数据类型和引用数据类型【区别】


基本数据类型在赋值的时候是在栈里面开一个新的空间存储,多个变量使用同一个值也是对值的深拷贝,每个值拥有独立的存储空间
引用数据类型在赋值的时候是在堆里面开了一个空间,把存储空间的标识码赋值给了变量,多个变量赋值未同一个对象的时候,只是简单的复用
了标识码的引用,俗称浅拷贝

类型转换


1.字符串->数组
2.字符串->数字
所有的数据互相之间都可以转换

显示转换


很直观的从代码上可以看出来是在转换数据类型。
1.使用数据的构造函数:String(),Number(),Array()
2.使用方法,比如转成字符串可以使用toString方法

隐式转换


1.if的表达式可以隐式转换
2.+任何值和字符串加,都会被转换成字符串
3.除了+,其他的减乘除都是尝试把数据转成数字进行计算
4.逻辑运算符也会隐式转换数据

数据类型检查


1.typeof :对基本数据类型检查好用,对于引用数据类型全部都是object
2.instanceof  :检测一个值是不是属于一个数据原型上的,对引用数据很精准,对简单数据类型不精准
3.conftructor  :可以监测基本数据和引用数据类型,但是对于空值类型,不能监测除了,因为空值类型没有构造函数
4.object.prototype.toString.call( )  :可以检查所有的数据类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值