最初に自己紹介をしてから、js、css、どちらのアルゴリズムが優れているかを尋ねました。jsと言いました。それから私にアルゴリズムがどうだったか尋ねました、そして私はそう言いました。
それから私のjs財団にインタビューを始めました
js
このインタビューはすべてコードの質問なので、コードを直接投稿してください
最初の質問
Object.prototype.a='a';
Function.prototype.a='a1';
function Person(){
};
var didi = new Person();
console.log(didi.a);
console.log(Person.a);
console.log(didi.__proto__.__proto__.constructor.constructor);
3番目の質問には答えませんでした。プロトタイプチェーンは一生懸命研究する必要があります。プロトタイプチェーンとは何かを説明してください。
2番目の質問
function bar(){
console.log(myName);
}
function foo(){
var myName = 'xiaojv';
bar()
}
foo()
var myName='didi';
この設計変数のプロモーションに関する知識は十分に研究されていません。
3番目の質問
<body>
<button id="test">test第三题</button>
</body>
<script>
//点击按钮有反应吗,为什么,怎么解决
$('#test').click(function(argument){
console.log(1)
});
while(true){
console.log(Math.random());
}
setTimeout(()=>{
console.log(1);
})
</script>
これは主に、イベントループ、マクロタスクとマイクロタスクの実行順序に関する知識です。
4番目の質問
var Object={
a:5,
method:function(){
console.log(this.a);
// }
}
var b = Object.method;
// var b = Object.method.bind(null);
// Object.method.call(null);
b();
この後、バインド、呼び出し、適用
の違いについて質問しました。foreach、for ... in ... for ... ofの違いについても説明します。
アルゴリズムの質問
1. 0〜100の生徒の成績を計算します。たとえば、90〜100は1年生、0,890は2年生などです。切り替え等が禁止されている場合。
答案:例如这个数为82,需要算出2;
82/100=0.82;
1-0.82=0.18;
0.18*10=1.8
1.8=》2
2.文字列の計算
题目:一个字符串‘2*7-1/3+3*3’,求计算值
これにより、手書きのコードが可能になります。書かれていますが、複数の状況の可能性を考慮していません。
修辞的な質問
インタビュアーに彼の欠点について話させてください。
インタビュアーは、私のjsの基礎はあまり良くなく、アルゴリズムを練習する必要があると言いました。
一般的に、このインタビュアーはjsの基本的な知識にもっと注意を払っています。とても良いです。私が答えなかった質問に出くわすたびに、私は私がそれを推論して答えるのを手伝います。学び続けてください〜