网站首页 > 技术文章 正文
判断以下程序的输出结果:
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基础高频面试题
你 发表评论:
欢迎- 07-07使用AI开发招聘网站(100天AI编程实验)
- 07-07Tailwindcss 入门(tailwindcss中文文档)
- 07-07CSS 单位指南(css计量单位)
- 07-07CSS 定位详解(css定位属性的运用)
- 07-07程序员可以作为终身职业吗?什么情况下程序员会开始考虑转行?
- 07-07云和学员有话说:国企转行前端开发,斩获13K高薪!
- 07-0791年转行前端开发,是不是不该转,有啥风险?
- 07-07计算机图形学:变换矩阵(图形学 矩阵变换)
- 595℃几个Oracle空值处理函数 oracle处理null值的函数
- 588℃Oracle分析函数之Lag和Lead()使用
- 575℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 573℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 569℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 562℃【数据统计分析】详解Oracle分组函数之CUBE
- 549℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 542℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端懒加载 (49)
- 前端获取当前时间 (50)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)