(1) 새로운 키워드를 생성하는 참조 형식이고;
예를 들면. VAR 상자 = 새 개체 ();
box.name = "린다"; // 참조 형식이 문제 속성 없습니다 추가
경고 (box.name);
2 출력의 기본 유형의 추가 속성 미정
예를 들면. VAR 상자 = "린다";
box.height = 185;
경고 (box.height); // 정의되지 않은
도 3은, 가변 복사본의 값은 : 원시 형 값 자체를 복사 어드레스 참조 타입을 복사한다.
예. 기본 복사 가변형 (즉 개의 가변 동작은 서로 독립적으로)
var에 STR1 = "리";
STR2 = STR1이었다;
STR1 = "안녕하세요";
CONSOLE.LOG (STR1); // 안녕하세요
CONSOLE.LOG (STR2); // 리
예. 복사 참조 형 변수 (박스와 BOX2가 변경되는 경우 속성 이름이 같은 변수에 점이며, box.name box2.name의 값에 따라 변경한다)
var에 STR3 = 새 개체 ();
str3.name = "밥";
STR4 = STR3이었다;
CONSOLE.LOG (str3.name); // 밥
CONSOLE.LOG (str4.name); // 밥
4, 송신 파라미터 : 매개 변수가 직접 값, 참조 (로컬 변수)로 전달되지 않는 경우에도, 가변 염기성 점과 참조 타입.
예를 들어. 전송 매개 변수의 기본 유형
함수 FN (NUM)는 {// NUM 로컬 변수
A + = 10;
확실히 반환;
}
VAR의 N = 50;
결과 = FN (NUM)이었다;
CONSOLE.LOG (결과) // 60
CONSOLE.LOG (NUM) // 50 개 관계없이 로컬 변수 상술
예. 송신 파라미터 참조 형식
함수 재미 (OBJ) {
obj.address = "시추";
}
var에 P = 새 개체 ();
재미 (P);
CONSOLE.LOG (p.address); // 쓰촨
(5) 검색 유형 :
1) 대해서 typeof (일반적으로 데이터 유형을 검출하는)
예를 들면. = 진정한 의지했다;
CONSOLE.LOG (대해서 typeof 타이); // 부울
오브젝트의 종류가 검출 어떤 2) instanceof는 (: 배열, 문자열 등)
예를 들면. 했다 TY1 = [1, 25, 59, 265];
CONSOLE.LOG (TY1의 instanceof는 어레이) 어레이 해당 유무를 검출 //
했다 TY2 = {};
CONSOLE.LOG (TY2의 instanceof를 개체); // 개체가 사실 여부를 검출
VAR의 TY3 = / g /;
참 양성 여부를 검출 //; CONSOLE.LOG (정규식 instanceof를 TY3)
var에 TY4 = 새로운 문자열 ( "린다");
6 범위 및 실행 환경
다른 데이터 실행 환경은 함수 나 변수에 액세스 할 수 있고, 자신의 행동을 결정 정의합니다.
글로벌 실행 환경, 즉, window 객체 환경에 가장 말초 지점입니다
var에 BOX1 = "파란색";
setBox 함수 () {
CONSOLE.LOG (BOX1); // 액세스 전역 변수
}
setBox (); // 기능을 수행
var boxn="hello";
function getBox(){
console.log(window.boxn);//全局变量即window的属性
}
window.getBox();//全局函数即window的方法
eg.通过传参替换函数体内的局部变量,但是作用域仅限于函数体内的局部环境
var boxn="hello";
function getBox(boxn){//通过传参替换了全局变量
console.log(boxn);//WORLD
}
getBox("WORLD");
console.log(boxn);//hello
eg.每个函数调用时都会创建自己的执行环境,执行后把控制权交给上一级的执行环境
var color="yellow";
function setColor(){
function getColor() { //getColor的执行环境在getColor内
var color1 = "green";
console.log(color);//yellow
console.log(color1);//green
}
getColor();
}
setColor();
7、没有局部作用域:if语句、for语句
eg.var关键字在函数体内的意义
function number(number1,number2) {
var sum = number1 + number2; //此时sum是局部变量,去掉var就是全局,报错
return sum;
}
console.log(number(15,20));
console.log(sum);//报错 sum is undefined
8、内存问题
javaScript会自行管理内存分配及无用内存的回收
一般来说确保占用最少的内存可让页面获得更好的性能,那么优化内存的最佳方案就是一旦数据不再有用,就将其设置为null来释放引用即解除应用.
eg.var p = {
name:"hello"
}
p = null;