> 웹 프론트엔드 > JS 튜토리얼 > js 기본 구문 소개: 데이터 유형 및 변수 유형

js 기본 구문 소개: 데이터 유형 및 변수 유형

不言
풀어 주다: 2018-08-13 10:22:14
원래의
2548명이 탐색했습니다.

이 글에서는 js의 기본 구문인 데이터 유형과 변수 유형에 대해 소개합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

1. 변경할 수 없는 원래 값 ​​(스택 데이터)(5개)

숫자(숫자), 문자열(문자열), 부울(부울), 정의되지 않음, null

여기에서 정의되지 않음은 정의되지 않음을 의미하고, Null은 비어 있음을 의미합니다. 그 사이에는 null에 값이 있지만 이 값은 비어 있는 반면, 정의되지 않음은 정의되지 않았으며 값이 전혀 없다는 의미입니다. null은 일반적으로 자리 표시자로 사용됩니다.

var a = 4;
var b = a;
a = 10;
console.log(b);//4//原始值是把一个值a放到另一个值b里面,改了第一个值a,第二个之值b不变
로그인 후 복사

2. 참조값(힙 데이터)

Array(배열), 객체(객체), 함수(함수)

참고: 변수에 값이 할당되는 한 메모리는 다시 Apply

var arr = [1, 2];
var arr1=arr;
arr.push(3);
console.log(arr1); //[1, 2, 3]
//引用值时把第一个值放到第二个值里面,改变第一个值,第二个值也改变
//引用值是在栈内存里面存放堆的地址,拷贝的是地址,所以改变了arr,实际上是改变了arr指向的地址内存放的内容,而arr和arr1指向同一个地址,故arr1也跟着变
로그인 후 복사
[ 1,2] [1,2,3] <-- arr.push(3)0x0001rreee arr

0x0002

arr1

주소

Variables
store value

0x0001

arr1

[1,2]

0x0002

0x0001

0x0003

arr

[1,3]

要避免使用连续赋值符号:下面举两个例子

 a = {n:1 b == a={m:1console.log(b);
로그인 후 복사

1.var a = {n:1},在内存中申请两个地址,分别存放a和n;

2.var b = a;申请一个地址存放b,值指向a的地址;

3.a.n= a={m:1};

(1)(这里对变量进行了赋值,因此要重新申请内存)先申请了内存地址n(0x0004)和a(0x0005);由于n值占用了新的内存,故0x0001处 存储值由n:0x0002变为n:0x0004;

(2)赋值;a={m:1},申请m地址(0x0006),

因此:a : {m:0x0006}--->{m:1}

   b: {0x0001}--->{n:0x0004}---->{ n:0x0005}---->{n:{m:0x0006}}--->{n:{m:1}}

0x0005m:0x0006    (2)

地址

变量

存储值

0x0001

a (1)

n:0x0002 n:0x0004 ---(1)

0x0002

-n- (1)

1

0x0003# 4

     n   

(1)

0x0005

     a   

(1)

0x0006

   
 

m    (2)

1         (2)

var a = {n:1};
var b = a;
a={m:1};//a重新赋值,换了一个房间,b仍然指向原来的房间(地址)
a.n =a;
console.log(a);//{m:1,n:{m:1,n:{..}}}//一直循环
console.log(b);//{n:1}
로그인 후 복사

 相关推荐:

js常用的正则表达式的用法小结

js如何格式化xml字符串并高亮?(附代码)

위 내용은 js 기본 구문 소개: 데이터 유형 및 변수 유형의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿