Exercício Especial 25

Índice

1. Questões de múltipla escolha

    1. Execute o seguinte programa, o resultado de saída é ()

    2. Como obter o texto da parte selecionada do campo select no formulário abaixo, onde obj=document.getElemById(“obj”)

    3. Que tipo de saída o seguinte código JS fará?

2. Questões de programação

    1. Saída após inverter o parâmetro inteiro


1. Questões de múltipla escolha

1. Execute o seguinte programa, o resultado de saída é ()
class Phone{
  constructor(price){
    this.price = price;
  }
  get price(){
    return 999;
  }
}
var p = new Phone(888);
console.log(p.price);

A、999

B、indefinido

C. Lançar uma exceção

D、888

Resposta correta: C Sua resposta: A

Analisar:

(1) Quando uma propriedade em uma classe possui apenas o método get(), mas nenhum método set(), a propriedade não pode receber um valor, nem mesmo a inicialização no método de construção é possível. Portanto, quando a propriedade preço do objeto é definido na inicialização do método de construção, uma exceção será lançada

(2) A classe Phone define apenas o método get e não define o método set, então o atributo de preço padrão é somente leitura, então você não pode definir this.price = preço no construtor

①Solução 1: não defina this.price = preço no construtor

<script>
    class Phone {
        constructor(price) {
            // this.price = price;
        }
        get price() {
            return 999;
        }
    }
    var p = new Phone(888);
    console.log(p.price);//输出:999
</script>

② Adicione um método set à classe Phone

<script>
    class Phone {
        constructor(price) {
            this.price = price;
        }
        get price() {
            return 999;
        }
        set price(item){
            return item
        }
    }
    var p = new Phone(888);
    console.log(p.price);
</script>

(3) Documento de classe de classe

4.3 Classe ES6 | Tutorial para iniciantes


2. Como obter o texto da parte selecionada do campo select no formulário abaixo, onde obj=document.getElemById(“obj”)
<form name="a">
    <select name="a" size="1" id=”obj”>
        <option value="a">1</option>
        <option value="b">2</option>
        <option value="c">3</option>
    </select>
</form> 

A、obj.options[obj.selectedIndex].text

B、obj.options[obj.selectedIndex].value

C、obj. valor

D、obj.text

Resposta correta: A

Analisar:

(1) A seleção padrão atual é a primeira

  • obj.options[obj.selectedIndex].text o texto de saída é 1
  • obj.options[obj.selectedIndex].value valor de saída é um

(2) Obtenha o objeto de nó

<body>
    <form name="a">
        <select name="a" size="1" id="obj">
            <option value="a">1</option>
            <option value="b">2</option>
            <option value="c">3</option>
        </select>
    </form>
    <script>
        window.onload = function () {
            //获得下拉框的节点对象;  
            var obj = document.getElementById("obj");
            console.log('obj',obj);
            //1.获得当前选中的值: 
            var value = obj.value;
            console.log('value',value);

            //2.获得该下拉框所有的option的节点对象   
            var options = obj.options;
            console.log('options',options);
            //注意:得到的options是一个对象数组 

            //3.获得第0个option的value值:  
            var value1 = options[0].value;
            console.log('value1',value1);

            //4.获得第0个option的文本内容:  
            var text1 = options[0].text;
            console.log('text1',text1);

            //5.获得当前选中的option的索引
            var index = obj.selectedIndex;
            console.log('index',index);
            
            //6.获得当前选中的option的文本内容 
            var selectedText = options[index].text;
            console.log('selectedText',selectedText);
        }
    </script>
</body>

3. Que tipo de saída o seguinte código JS fará?
let a = 'w'
let obj = {
  a: 'o',
  print: function() {
    console.log(this.a);
  },
}
let p = obj.print;
obj.print();
p();

A、o、o

B、w、w

Vaca

D、o、indefinido

Resposta correta: D Sua resposta: C

Analisar:

(1) let a = 'w': Ao contrário da palavra-chave var, a variável declarada no escopo global usando let não se tornará propriedade do objeto janela, porque a variável declarada por let não será montada na janela, portanto é janela A variável abaixo só pode ser indefinida

(2) obj.print: isso aponta para obj , então a saída é o valor da variável a em obj, ou seja, o

(3) p(): Como o ponto this não pode ser passado, o this da função p aponta para a janela


2. Questões de programação

1. Saída após inverter o parâmetro inteiro

Exemplo: _reverse(0) -> 0 _reverse(233) -> 332 _reverse(-223) -> -322

Analisar:

Use o array reverse() para inverter o método

<script>
    let number = -223
    function _reverse(number){
    if(number >=0){
        return Math.abs(number).toString().split("").reverse().join("") * 1
    }else{
        return Math.abs(number).toString().split("").reverse().join("") * (-1)
    }
    }
    console.log(_reverse(number));
</script>
o código explicar

Math.abs(número)

pegue o valor absoluto

para sequenciar()

número para string

dividir("")

String dividida em array

reverter()

inversão de matriz

juntar("")

Mesclar array para string

Acho que você gosta

Origin blog.csdn.net/qq_51478745/article/details/131669543
Recomendado
Clasificación