关于一道javascript笔试题

使用Simulink进行基于IIR滤波器的设计与稳定性分析仿真 IIR滤波器的稳定性与其系统函数的极点位置密切相关。如果所有极点都位于Z平面的单位圆内,则该滤波器是稳定的;否则,滤波器将是不稳定的。在设计IIR滤波器时,确保其稳定性对于避免输出信号发散至关重要。明确你的系统需求,比如输入信号类型(如正弦波)、采样率、IIR滤波器的设计参数(如滤波器类型、阶数、截止频率等)。假设我们需要设计一个低通IIR滤波器,用来去除高于500Hz的所有频率成分,保留低于500Hz的信号成分。采样率为8kHz。 阅读详情

最近看了一道javascript笔试题,很有意思,所以拿出来探讨一番。题目如下:

 

请给出下页面代码的运行结果:
var x = 20;
function fn(){
    function f1(){
        alert(this.x);
    }
    with(
          {
            f2: function(){
                alert(this.x);
            },
            x:50
          }
        )
    {
        function f3(){
            alert(this.x);
        }
         function f4(){
            alert (x);
        }
        f1();
        f2();
        f3();
        f4();
    }
}
fn();

 

 

 

 

 

用于测试的页面源代码:

 

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>一道javascript笔试题</title>
</head>
<body>
<noscript>您的浏览器未开启Javascript!</noscript>
<script type="text/javascript">
    <!--

    /* 注意: 加不加 window.onload 对结果有非常大的影响*/

    //window.onload = function(){
        var x = 20;
        function fn(){
            function f1(){
                alert("f1: " + this.x);
            }
            with ({
                f2: function(){
                    alert("f2: " + this.x);
                },
                x: 50
            }) {
                function f3(){
                    alert("f3: " + this.x);
                }
                function f4(){
                    alert("f4: " + x);
                }
                f1();//
                f2();//
                f3();//
                f4();//
            }
        }
        fn();
    //}
    -->
</script>
</body>
</html>

 

 

 

 

 

在我的机器上,Firefox的运行结果:

 

f1: 20
f2: 50
f3: 20
f4: 50

 

ie, chrome, safari, opera 的运行结果:

 

f1: 20
f2: 50
f3: 20
f4: 20

 

结果f4的结果是不一样的,应该是javascript引擎处理的方式所造成的。

 

 

为了写出更健壮安全javascript的代码,我们可以注意什么呢?个人认为老掉牙的调调还是很实用的:

 

1. 程序要简洁清晰(无论是程序逻辑上,还是代码的风格上)。

2. 程序要可读性好,不要编写太过技巧性的代码(个人认为,这个程序可读性不太好)。

3. 对代码进行全面的测试。

 

 

RK3588平台开发系列讲解(以太网篇)MDIO底层驱动 沉淀、分享、成长,让自己和他人都能有所收获!😄。 阅读详情

相关推荐

TI DSP TMS320F280025 Note1:工程模板Template创建

该方法新建的工程支持寄存器开发,同时也支持库函数开发,新建后移动该工程也不需要重新修改路径,路径使用变量定义,使用方便、移植性能高

weixin_52849254的博客 2302

javascript基础(一)函数与对象

最近学习Vue的过程中,发现代码组织得很混乱,主要原因应该是对JS的学习不够深入,因此抽出时间来深入理解一下JS 参考: 深入理解javascript原型和闭包 一、一切皆对象 1.1哪些是对象 使用typeof关键字可以查看某个变量的类型 console.log(typeof a) //undefined console.log(typeof 1) //number c...

这只伶俐的棕色狐狸跳过一只懒惰的狗 578

NXP MCU CAN波特率(位时间)配置详解

1. 概述 本文将会详细讲解如何设置NXP MCU的CAN波特率、位时间、采样点等属性。 波特率即CAN总线传输频率,位时间是波特率的倒数,例如波特率是500K,那么位时间 = 1 / 500000 = 0.000002s = 2000ns。 我们先来看一下S32K144单片机的EB中与CAN总线波特率相关的可配置参数有哪些: ...

weixin_42967006的博客 9691

一道JS闭包的经典笔试题

一道关于JS闭包的笔试题

weixin_51445423的博客 644

深度学习中的注意力机制

最近两年,注意力模型(Attention Model)被广泛使用在自然语言处理、图像识别及语音识别等各种不同类型的深度学习任务中,是深度学习技术中最值得关注与深入了解的核心技术之一。本文以机器翻译为例,深入浅出地介绍了深度学习中注意力机制的原理及关键计算机制,同时也抽象出其本质思想,并介绍了注意力模型在图像及语音等领域的典型应用场景。

优快云人工智能 4万+

告别算力焦虑:手把手教你用华为CloudMatrix384超节点部署MoE大模型(附xDeepServe配置)

本文详细解析了如何在华为CloudMatrix384超节点上高效部署MoE大模型,通过xDeepServe框架配置和专家分配优化,实现2300 Tokens/s的推理吞吐。文章涵盖环境准备、性能调优、成本平衡及容灾设计,帮助开发者告别算力焦虑,提升AI推理效率。

weixin_30790841的博客 442

js数组方法的一道笔试题考察点详解

来自“阿里巴巴2017秋招前端笔试题”中的一道笔试题: 将数组 var a=[1,2,3] 变成数组 [4,3,2,1] 下面的方式正确的是? a.reverse().unshift(4) a.push(4).reverse() a.push(4); a.reverse() a.splice(3,1,4).reverse() 想要做对这道js题目,就

Lucky Star的博客 688

Android 跨进程通信-(一)Binder概念引入

前言 主要对Android中的跨进程通信进行总结下,这篇先梳理下里面的涉及的一些概念 一 多进程 1.进程与线程 进程:系统中正在运行的一个应用程序,某个程序一旦运行就是一个进程,是资源分配的最小单位; 线程:程序执行的最小单位,包含在进程中,一个进程可以包含多个线程。 2.Android应用中的多进程 (1)dalivk虚拟机 Android系统的底层任务管理以及驱动都是基于Linux系统。一个Android系统其实就是一个Linux系统,通过adb shell进入连接的手机,就可以看到Li

nihaomabmt的专栏 1103

JavaScript 模拟实现数组的 map 方法,一道笔试题

这是一道笔试题目 首先需要知道数组的map方法是什么:返回数组中每个元素都调用一次提供的函数组成的新数组。 MDN Array.prototype.map() 可看到 map 方法中的回调函数具有三个参数: var new_array = arr.map(function callback(currentValue[, index[, array]]) { // Return element for new_array }[, thisArg]) 另外实现这个方法是数组都可以调用的,所以将方法放到 A

weixin_45397318的博客 708

使用3d Slicer标注病灶并生成ROI掩膜

本篇博客给大家演示一下如何使用3d Slicer标注病灶并生成ROI掩膜,供深度学习模型训练使用。 关于3d Slicer和MRIcron的安装请看我的另一个帖子。 一、数据加载 你可以使用你手头的数据进行标注,这里为了示例方便,我是用的3d Slicer中给出的Sample Data中的MRBrainTumor1的数据。 二、病灶标注及保存 Modules选择Segment Editor: 然后点击Add按钮添加一个Segment,在下方便签上双击可以修改Segment的命名和颜色等。下方三个按钮

Su_Del的博客 1万+

使用 MATLAB/Simulink + Simscape Electrical,构建一个含光伏并网系统与SVG的联合仿真模型,实现动态无功补偿与电压支撑

摘要:本文详细介绍了基于Simulink的SVG与光伏并网逆变器联合系统建模方法。通过构建包含光伏单元、SVG主电路和控制模块的仿真模型,实现动态无功补偿与电压稳定。重点阐述了ip-iq无功检测算法、双闭环控制和SVPWM调制等关键技术。仿真结果表明,该系统能快速响应无功需求,在10ms内将功率因数提升至0.98以上,有效抑制电压波动。文章为新能源并网系统中的电能质量治理提供了实用解决方案,并提出了进一步优化方向。

xiaoheshang_123的博客 322

一道笔试题引发的一系列js类型转换的坑

前两天看到这道笔试题当时做错了,我的答案是true false false(大家可以想下自己的答案)然后仔细查阅了一下资料发现js的类型转换确实还是挺多小坑的,下面是我整理的资料,相信看完这道题也就迎刃而解了: js中的==和=== 第一题:[]会转换成为一个布尔值,根据前面说的所有的对象都转换为true,则第一题返回true 第二题:首先[]会转换为原始值,首先调用valu

qq_34356563的博客 691

后仿真中《SDF反标必懂连载篇》之 Negative Delay (理论篇)

今天,学习一下SDF文件中的负数延时问题。比如下面的图片中的SETUPHOLD 中的hold time 为负数。

那么菜的博客 2577

一道js笔试题, 刷新了我对map方法函数的认知,你做对了吗?

文章目录背景猜想1猜想2对map方法的深入思考你百度一下,会发现也基本上很多人都是这样手写的:那真正的map方法应该死怎样实现的呢?为什么 key in Array 可以判断 当前项是否为 empty呢?最后参考文章 背景 昨天在看一道笔试题的时候本以为很简单,但是结果不是我想象的那样,直接上笔试题。 const array = new Array(5).map((item) => { return item = { name: '1' } }); console.log(array)

weixin_43964148的博客 523

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

一道javascript笔试题

&lt;html&gt; &lt;head&gt; &lt;/head&gt; &lt;body&gt; &lt;/body&gt; &lt;script&gt; var x=20; var a={ x:15, fn: function(){ var x=30; return function(){ return this.x; } } ...

yhl520o的博客 271

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

一道js this笔试题

在网上做到了一个很考验基础功的js试题(对我菜鸡而言哈) 分享出来给大家

weixin_43863710的博客 603

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

一道关于JavaScript经典的笔试题

原题: function Foo() { getName = function () { alert (1); }; return this; } Foo.getName = function () { alert (2);}; Foo.prototype.getName = function () { alert (3);}; var getN...

weixin_34204722的博客 114

从一道前端笔试题分析javascript中this的使用陷阱

相信大家都有看过这样的一道javascript的面试题,具体如下: var length = 10; function fn(){ console.log(this.length); } var obj = { length:5, method:function(fn){ fn(); arguments[0](); } } obj....

包磊磊的博客 797

js一道this笔试题

js this笔试题

TylerYue的博客 256

记录一道JS笔试题

如下图,请实现表格信息的排序功能,当点击表头的属性区域,将表格信息进行排序切换功能,即第一次点击为降序排序,再一次点击进行升序排序。 在牛客网做到这一题的时候,碰到一些问题,记录一下。题目很简单,但是第一个思路遇到了一些问题:使用JS的getElementByTagName方法从DOM中获取tr的所有数据。假设一个变量var tableRows = doc

hsx5555621的博客 426

一道阿里笔试题-javascript

不使用loop循环,创建一个长度为100的数组,并且每个元素的值等于它的下标? 解法一:递归 (function wallace (i) { return (i 解法二:Array的map方法 Array(100).fill('naive').map(function (v, i) { return i; }); 思路分析: 定义和用法 concat() 方法用于连接两个或多

hellochenlu的博客 568

Javascript中this指向问题——从一道笔试题看起

Javascript Object中this的指向问题

Cdlg_Fans的博客 381

通过一道笔试题浅谈javascript中的promise对象

因为前几天做了一个promise对象捕获错误的面试题目,所以这几天又重温了一下promise对象。现在借这道题来分享下一些很基础的知识点。 下面是一个面试题目,三个promise对象捕获错误的例子,返回结果有什么不同。   //使用throw添加错误事件 var p = new Promise(function(resolve, reject) { resolve("ok")

three_bird的博客 3174

每天一道笔试题 JS实现大数相加

JS实现大数相加 const num1 = "1248859103109591728912488591031095917289" const num2 = "32481239839485789343248123983948578934" 问题: js中要实现上面两个数的相加,如果转成number类型,就会损失进度,因为已经超出number类型的范围 解决 1.使用bigInt类型 const num1 = "1248859103109591728912488591031095917289" con

weixin_42369612的博客 693

谈谈一道js笔试题,涉及作用域链、闭包

题如下,让你写出输出结果: function test(){ var n=4399; function add(){ n++; console.log(n); } return {n:n,add:add} // 一个匿名变量 } var result=test(); // var result2=test();//

longpersevere的博客 1755

记录--一道js笔试题, 刷新了我对map方法函数的认知

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 背景 昨天在看一道笔试题的时候本以为很简单,但是结果不是我想象的那样,直接上笔试题。 const array = new Array(5).map((item) => { return item = { name: '1' } }); console.log(array); // 请写出输出结果 我想象的...

林恒的博客 414
上一篇: randomColor_foshan_2(){...}函数存在缺陷
下一篇: “ JavaScript挑战赛--随机颜色”优胜代码
FuDesign2008
博客等级 码龄18年 44粉丝 119原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值