함수와 작용역(진급 3)
1. 함수 성명과 함수 표현식은 어떤 차이가 있는가
2. 변수의 성명 전치는 무엇입니까?함수의 성명 전치가 무엇입니까
3. arguments는 무엇입니까
arguments는 함수 모든 매개 변수의 집합 (수조) 으로 함수 내에서 사용할 수 있습니다
4. 함수의'재부팅'은 어떻게 실현되는가
js는 재부팅을 지원하지 않습니다. 동명 함수는 덮어씁니다. 매개 변수에 대해 비공식적이거나 유형적인 판단을 해서 함수 재부팅을 시뮬레이션해야 합니다. (if조건 판단 문장으로 가능)
5. 함수 표현식을 즉시 실행하는 것은 무엇입니까?무슨 작용이 있느냐
(function(){
//todo
}())
6. 제발 n!,귀속으로 실현하다
답: 두 가지 방법(그중 꼬리 귀속 최적화는 ES6 문법을 사용함) 꼬리 호출 최적화: 호출 함수는 마지막 작업이고 귀속 시 내부 함수만 보존하는 호출 프레임
function fn(n){
if(n===1){
return 1;
}
return n*fn(n-1);// : n,
}
const fm = (n, flat)=>{
if(n===1){
return flat;
}
return fm(n-1,n*flat);// , ,
};
const fmm = (n)=>fm(n,1);
var res1 = fn(10);
let res2 = fmm(10);
console.log(res1, res2);//3628800 3628800
7. 다음 코드는 무엇을 출력합니까?
function getInfo(name, age, sex){
console.log('name:',name);
console.log('age:', age);
console.log('sex:', sex);
console.log(arguments);
arguments[0] = 'valley';
console.log('name', name);
}
getInfo(' ', 2, ' ');
getInfo(' ', 3);
getInfo(' ');
답변:
"name": " "
"age": 2
"sex": " "
[object Arguments]{0:" ", 1:2, 2:" "}
"name" "valley"
"name": " "
"age": 3
"sex": undefined
[object Arguments]{0:" ", 1:3}
"name" "valley"
"name": " "
"age": undefined
"sex": undefined
[object Arguments]{0:" "}
"name" "valley"
8. 함수를 써서 매개 변수의 제곱을 되돌려줍니까?
function sumOfSquares(){
}
var result = sumOfSquares(2,3,4)
var result2 = sumOfSquares(1,3)
console.log(result) //29
console.log(result2) //10
세 가지 방법: 각각 for 순환, for-in 순환과 Object입니다.values(), 코드는 다음과 같습니다.
function sumOfSquares(){
let res = 0;
// 1. for
// for(let i=0; i
9. 다음 코드의 출력은?무엇 때문에
console.log(a);
var a = 1;
console.log(b);
출력: undefined 오류("error""ReferenceError: b is not defined..."); -var 성명의 변수는 선행자, 즉 console를 성명하기 때문이다.log(a) 전에 a를 성명했기 때문에 undefined를 출력합니다. -b 성명이 없어서 잘못 보고합니다
10. 다음 코드의 출력은?무엇 때문에
sayName('world');
sayAge(10);
function sayName(name){
console.log('hello ', name);
}
var sayAge = function(age){
console.log(age);
};
출력: "hello""world"오류 보고("error""TypeError: sayAge is not a function")
11. 다음 코드는 무엇을 출력합니까?역할 영역 체인 찾기 프로세스 위조 코드 쓰기
var x = 10
bar()
function foo() {
console.log(x)
}
function bar(){
var x = 30
foo()
}
출력: 10
globalContext = {
AO:{
x:10,
foo:function,
bar:function,
},
scope:none;
}
foo['scope'] = globalContext.AO;
bar['scope'] = globalContext.AO;
barContext = {
AO:{
x:30,
},
scope:golbalContext.AO
}
fooContext = {
AO:{},
scope:golbalContext.AO
}
12. 다음 코드는 무엇을 출력합니까?역할 영역 체인 찾기 프로세스 위조 코드 쓰기
var x = 10;
bar()
function bar(){
var x = 30;
function foo(){
console.log(x)
}
foo();
}
출력: 30, 위조 코드는 다음과 같다.
globalContext = {
AO:{
x:10,
bar:function,
},
scope:none,
}
bar['scope'] = globalContext.AO;
barContext = {
AO:{
x:30,
foo:function,
},
scope: globalContext.AO,
}
fooContext = {
AO:{},
scope:barContext.AO,
}
13. 다음 코드는 무엇을 출력합니까?역할 체인의 검색 과정 위조 코드를 작성하다
var x = 10;
bar()
function bar(){
var x = 30;
(function (){
console.log(x)
})()
}
출력 30
globalContext = {
AO:{
x:10,
bar:function,
},
scope:none;
}
bar['scope'] = globalContext.AO;
barContext = {
AO:{
x:30,
foo:function,
},
scope:golbalContext.AO
}
foo['scope'] = barContext.AO;
fooContext = {
AO:{},
scope:barContext.AO
}
14. 다음 코드는 무엇을 출력합니까?역할 영역 체인 찾기 프로세스 위조 코드 쓰기
var a = 1;
function fn(){
console.log(a)
var a = 5
console.log(a)
a++
var a
fn3()
fn2()
console.log(a)
function fn2(){
console.log(a)
a = 20
}
}
function fn3(){
console.log(a)
a = 200
}
fn()
console.log(a)
출력: undefined 51 6 20 200
globalContext = {
AO:{
a:200,
fn:function,
fn3:function,
},
scope:none;
}
fn['scope'] = globalContext.AO;
fn3['scope'] = globalContext.AO;
fn3Context = {
AO:{},
scope:globalContext.AO,
}
fnContext = {
AO:{
a:20,
fn2:function,
},
scope:globalContext.AO
}
fn2['scope'] = fnContext.AO;
fn2Context = {
AO:{},
scope:fnContext.AO
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.