网站首页 > 技术文章 正文
判断以下程序的输出结果:
var age=100;
function test(){
this.age=50;
return function(){
return this.age;
}
}
var m=new test();
alert(m());
var n=test();
alert(n());
答案:
100 50
构造函数一旦返回一个对象,就不再创建新对象
m获得的是function(){ return this.age; }
n=test(),this指向window。先将全局变量age变为50,又返回一个函数function(){ return this.age; }保存在变量n中
调用n时,this指向window。
2. 判断以下程序的输出结果:
var name="The Window";
var obj={
name:"My obj",
getName:function(){
return function(){
return this.name;
}
}
};
console.log(obj.getName()());
答案:
Undefined
obj.getName() 返回一个函数对象function(){ return this.name; }
(function(){ return this.name; }()) 相当于匿名函数自调,this指向window
3. 判断以下程序的输出结果:
var length=10;
function fn(){
console.log(this.length);
}
var obj={
length:5,
method:function(fn){
fn();
arguments[0]();
}
};
obj.method(fn,1)
答案:
10 2
fn() this指向window,所以输出10
arguments0 属于特殊情况,this->arguments,相当于arguments.0(), 所以,this指向arguments。所以length输出的是obj.method()的参数个数,为2.
4. 统计一个字符串中出现次数最多的字符是? 共出现多少次
答案:
var dict={};
var c="", max=1;
for(var i=0;i<str.length;i++){
var char=str[i];
if(dict[char]===undefined)
dict[char]=1;
else{
dict[char]+=1;
if(dict[char]>max){
max=dict[char];
c=char;
}
}
}
console.log(c,max);
提前创建一个空对象,用于保存每个字母出现的次数。
提前创建变量,准备保存出现次数最多的字符和出现的次数。
然后,遍历字符串中每个字母,每遍历一个字母就判断结果对象中是否包含以当前字母为属性名的属性。如果不包含以当前字母为属性名的属性,说明是首次遇见该字母,就向结果对象中强行添加以该字母为属性名的属性,值暂时为1。如果结果对象中已经包含以当前字母为属性名的属性,说明不是第一次碰见该字母。则取出该字母名属性对应的次数+1。只要当前字母出现的次数>之前变量中记录的最大次数,就用当前字母和出现次数,取而代之。
猜你喜欢
- 2024-12-05 前端面试题《JQuery》
- 2024-12-05 这道JS经典面试题不要背,今天带你彻底搞懂它
- 2024-12-05 2025年最新最全面50个React JS面试问题及答案
- 2024-12-05 web前端JS基础高频面试题
你 发表评论:
欢迎- 最近发表
-
- 用AI做微信小程序的完整步骤_如何用ai制作微信表情包
- 自习室预约的微信小程序设计与实现-计算机毕业设计源码+LW文档
- 微信小程序开发入门指南_微信小程序开发入门教程
- 写字机器人好用吗? 组装就花了5个小时 还要学习软件、录入字体
- 白描网页版 - 高效准确且免费的OCR文字识别工具
- 字体图形面板与图标字体使用_字体图标的优势和劣势
- 作为前端工程师必须懂得的33个CSS核心概念
- Flutter程序员开发炫酷的登录页面 字体库运用 路由学习 源码分享
- 2025Q3开源字体盘点:让你的代码和文档'颜值'飙升!
- Agent杂谈:Agent的能力上下限及「Agent构建」核心技术栈调研分享~
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)