이 글의 내용은 js가 객체의 속성과 메소드에 어떻게 접근하는지 소개하는 것입니다. (코드 예). 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
객체의 속성과 메서드를 집합적으로 객체의 멤버라고 합니다.
객체 속성에 액세스
JavaScript에서는 "." 및 "[]"를 사용하여 객체의 속성에 액세스할 수 있습니다.
둘 사이의 차이점: "." 표기법은 일반적으로 속성에 액세스하기 위한 정적 개체로 사용됩니다. "[ ]" 표기법은 속성에 동적으로 액세스할 때 매우 유용합니다.
var object = {name:'xiaoming',age:29}; var name1 = object.name;var name2 = object['name'];
객체 메서드 액세스
JavaScript에서는 "."만 사용하여 개체 메서드에 액세스할 수 있습니다.
function Person(){ this.name = 'xiaoming'; this.age = 29; this.say = function(){ alert('This is person'); } } var student = new Person(); alert(student.name); alert(student['age']); student.say(); //使用" . "访问对象方法
에서 파생된 두 가지 질문:
1 문자열에서 가장 자주 나타나는 문자를 결정하고 숫자를 세어보세요.
var str = 'Thisthebesttimesewerty'; var obj = {}; for(var i=0; i<str.length;i++){ var char = str[i]; // var char = str.charAt(i); //charAt()可返回指定位置的字符,i为字符的下标,从0开始 if(obj[char]){ obj[char]++; //char是obj对象的一个属性,如果存在次数加1 }else{ obj[char] = 1; //如果不存在,保存在obj中并计数为1 } } var max = 0; var maxChar = null; for(var key in obj){ if(max < obj[key]){ max = obj[key]; //出现最多次数max maxChar = key; //出现次数最多的字符maxChar } }
2. 전달된 두 배열이 유사한지 여부입니다.
특정 요구 사항:
1. 배열의 멤버는 동일한 유형이지만 순서는 다를 수 있습니다. 예를 들어, [1, true]는 [false, 2]와 유사합니다.
2. 배열의 길이는 동일합니다.
3. 판단 범위의 종류를 구분해야 합니다: String, Boolean, Number, undefine, null, function, date, window.
위 사항을 모두 만족하면 "판정 결과: 합격" 그렇지 않으면 "판정 결과: 실패"가 반환됩니다.
function arraysSimilar(arr1,arr2){ if(!(arr1 instanceof Array) || !(arr2 instanceof Array)){ return false; } if(arr1.length !== arr2.length){ return false; } var i=0, n=arr1.length, countMap1={}, countMap2 = {}, t1, t2, TYPES = ['string','boolean','number','undefined','null','function','date','window']; for(i; i<n; i++){ t1 = typeOf(arr1[i]); t2 = typeOf(arr2[i]); if(countMap1[t1]){ countMap1[t1]++; } else{ countMap1[t1] = 1; } if(countMap2[t2]){ countMap2[t2]++; } else{ countMap2[t2] = 1; } } for(i=0; i<TYPES.length; i++){ if(countMap1[TYPES[i]] != countMap2[TYPES[i]]){ return false; } } return true; } function typeOf(ele){ var r; if(ele === null){ r = 'null'; } else if(ele === 'window'){ r = 'window'; } else if(ele instanceof Array){ r = 'array'; } else if(ele instanceof Date){ r = 'date'; } else{ r = typeof(ele); } return r; }
위 내용은 js에서 객체의 속성과 메서드에 어떻게 액세스하나요? (코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!