Questions tagged «javascript»

JavaScript(不要与Java混淆)是一种高级,动态,多范式,弱类型的语言,用于客户端脚本和服务器端脚本。使用此标记可解决有关ECMAScript,JavaScript,JScript等的常见实现的问题。JS通常不引用其ECMA-表兄弟ActionScript。


8
编写优质JavaScript的五个或以下技巧?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 JavaScript显然已变得不可缺少。但是,我仍然是新手,而且我发现很难克服那种感觉似乎很混乱的感觉,我现在不想处理它。与JavaScript相比,我对其他语言的理解更加深入,因为我似乎无法解决这种恐惧。我有一种感觉,当我编写JavaScript时,我试图画一幅Weimaraner幼犬的肖像​​。 通常,这可以帮助我牢记一些最重要的指令,以便我对自己的一举一动进行自我询问。(在我看来,只有五个或更少。) 您能列出五个(或更少)特定于JavaScript的问题吗?在编码JavaScript时,我应该问自己的每一步?他们会是什么? 更新:澄清一下,我并不是在学习JavaScript时要记住五件事;我要问的五个问题总是要问自己,每个人都应该一直问。像这样的高级问题:“我可能会在其他地方重复吗?” 或“此变量/函数名称是否足够具体(或太具体)” <==,除了这些示例问题不是JavaScript特有的。我正在寻找JavaScript特有的指令。
14 javascript 

5
为什么不将JavaScript用于经典应用程序开发(编译软件)?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 在使用JavaScript进行Web开发的这些年中,我得出的结论是,它是一种不可思议的强大语言,您可以用它来做令人惊奇的事情。 它提供了丰富的功能,例如: 动态打字 一流的功能 嵌套函数 关闭 作为方法起作用 作为对象构造函数 基于原型 基于对象(几乎所有内容都是对象) 正则表达式 数组和对象文字 在我看来,使用这种语言几乎可以完成所有事情,您还可以模拟OO编程,因为它提供了极大的自由度并提供了许多不同的编码样式。 通过更多面向软件的自定义功能(I / O,文件系统,输入设备等),我认为使用它来开发应用程序将非常有用。 尽管据我所知,它仅在Web开发或现有软件中仅用作脚本语言。 直到最近,也许要感谢V8引擎,它已被更多地用于其他类型的任务(例如,请参见node.js)。 为什么到现在为止仅将其降级为仅用于Web开发?是什么使它远离软件开发?


4
为什么HTML / JavaScript压缩有益
当HTTP协议已经支持gzip数据压缩时,为什么HTML / JavaScript压缩有益呢? 我认识到Javascript / HTML缩小可以消除不必要的空格,并可能将变量重命名为几个字母,从而显着减小Javascript / HTML文件的大小,但是当重复次数很多时,LZW算法的效果不是特别好字符(例如很多空白?) 我意识到某些Javascript缩小工具所做的不仅仅是缩小尺寸。例如,谷歌的闭包编译器还试图通过内联函数和进行其他分析来提高代码性能。但是Javascript压缩的主要目的通常是减小文件大小。 我还意识到,除了性能之外,还有其他原因可能需要减少,例如代码混淆。但是同样,通常不强调该原因,而不是强调性能提高和文件大小减小。例如,Closure Compiler并不是宣传为混淆工具,而是宣传为代码大小缩小器和下载速度增强器。 那么,当您已经通过gzip压缩显着减小文件大小时,实际上从Javascript / HTML 压缩中获得了多少性能?
14 javascript  html  http  minify 

5
带有Web API的纯前端JavaScript与带有Ajax的MVC视图
这更多是关于人们近来对如何拆分Web应用程序的想法的讨论。 我习惯于使用其所有视图和控制器来创建MVC应用程序。通常,我将创建一个完整视图,并在一个完整页面请求中将其传递回浏览器,除非我不想立即填充特定区域,然后使用DOM页面加载事件来调用服务器来加载其他区域使用AJAX。 同样,当涉及部分页面刷新时,我将调用MVC操作方法,该方法将返回HTML片段,然后可以使用该HTML片段填充页面的某些部分。这将用于那些我不想减慢初始页面加载速度的区域,或者是更适合AJAX调用的区域。一个示例是表分页。如果您想转到下一页,我希望在AJAX调用获得该信息而不是使用整页刷新的情况下使用。但是AJAX调用仍然会返回HTML片段。 我的问题是。我对这个古老的想法是因为我来自.net背景,而不是纯粹的前端背景吗? 与我一起工作的聪明的前端开发人员,宁愿在MVC视图中什么也不做,而宁愿在前端做任何事情。一直到填充页面的Web API调用。因此,他宁愿返回一个标准对象并使用javascript创建页面的所有元素,而不是调用返回HTML的MVC操作方法。 前端开发人员的方式意味着我通常通过MVC模型验证(包括客户端验证)获得的任何好处都将消失。这也意味着我创建视图,使用强类型html模板等获得的任何好处都将消失。 我相信这意味着我需要为前端和后端验证编写相同的验证。javascript还需要有很多方法来创建DOM的所有不同部分。例如,当向表中添加新行时,我通常会使用MVC部分视图创建该行,然后将其作为AJAX调用的一部分返回,然后将其注入表中。通过使用纯前端方式,javascript将为api调用中的行引入一个对象(例如产品),然后从该对象创建一行。创建表行的每个单独的部分。 有问题的网站将在管理,表格,产品搜索等方面有很多不同的领域。我认为不需要以单一页面应用程序方式构建的网站。 大家对此有何想法? 我很想听听前端开发人员和后端开发人员的意见。

3
提供CDN后备的本地JS和CSS资源
鉴于 CDN是一件好事,因为它们可以为靠近客户端的资源提供服务,客户端可以缓存它们,并且您可以减少自己服务器上的负载。 在最新的浏览器中,由于子资源完整性(SRI)的原因,从第三方服务器加载资源不会降低安全性。 CDN在某些国家/地区可能已关闭或受阻,并且在离线开发1时不可用。 我认为使用CDN很有必要,但也要为它们不可用做准备。这篇博客文章很好地介绍了提供备用功能的不同方法。如果看一下Basic示例,您会发现它已经包含了很多样板代码,仅可为jQuery和Bootstrap提供后备,而受青睐的解决方案建议使用Fallback.js,在过去的一年中似乎几乎没有保留。 。同样,与该主题最相关的SO问题仅涉及为jQuery提供后备功能。 但是,在大多数实际项目中,我希望有5个或更多的js / css资源,所以我觉得您不必重复一些混乱的样板即可为所有这些提供后备。此外,每次添加或更新资源时,您现在都必须 更新CDN链接 通过手动下载或更改npm / bower配置中的版本来更新本地后备副本 更新链接到后备 更新SRI哈希 而在理想世界中,我希望在一个配置文件中添加/更新资源,并让所有其他步骤自动执行(然后运行测试以查看更新是否破坏了任何内容)。 是否已经建立工作流程来实现这一目标? 还是CDN尤其是SRI太新了? 还是大多数人根本不愿意为CDN资源提供后备资源? 1.尽管您可以拥有一个不依赖CDN的开发版本,但是我也认为这是一种后备形式,因为它也需要维护。
13 javascript  css  cdn 

5
可以在没有状态的情况下表示任何程序任务吗?
这是一个理论问题,但是经过多年的编程之后,我意识到现在是“正常的”命令式技术,主要使用C ++,我发现了函数式编程的另一个领域,在偶然学习JavaScript时偶然发现了这个问题。 这使我想知道您是否可以用一个纯粹的功能且没有状态的不同实现在技术上替换任何完整的面向状态的程序? 这是一个有趣的想法,我必须承认,函数编程的清晰性和优雅性确实让我大吃一惊。

2
响应式Web设计与用户代理嗅探
CSS3 media查询功能在开发可适应许多不同屏幕尺寸和设备的网站方面带来了许多有趣的可能性。 但是,实际上,我开始意识到CSS3 media查询功能以及整个“响应式Web设计”运动可能无法实现其承诺。 我看到的问题是,归根结底,Web开发人员最关心的是他们的用户是通过台式机,平板电脑还是移动设备查看内容。但是CSS3只提供一种检测屏幕分辨率的方法。从理论上讲,检测屏幕分辨率似乎是针对各种不同设备进行调整的好方法。但是实际上 假设我们有一个简单的Javascript函数,它仅输出屏幕宽度: function foo() { alert(screen.width); } 在我的Blackberry Touch上,输出: 768 在我的三星Galaxy上,输出: 800 所以...在这一点上,主流智能手机的分辨率已经非常接近台式机级别的分辨率。如果只需要屏幕分辨率,那么检测用户是否正在通过智能手机,平板电脑或台式机查看您的网站的能力似乎变得越来越困难。 这使我质疑基于媒体查询的整个CSS3“响应式Web设计”运动背后的全部智慧。似乎media查询功能更适合于适应桌面屏幕上调整大小的浏览器窗口,而不是各种移动设备。 用于检测移动设备或平板设备的另一种可能的技术是通过检查ontouchstart事件是否受支持来使用功能检测。但是,随着许多桌面屏幕开始支持触摸,即使这样也变得越来越不可靠。 问题:因此,作为一名Web开发人员,如果我不能依靠RWD或功能检测,用户代理嗅探(一如既往地不可靠)是否真的是检测移动设备的最佳选择?

2
逗号作为分隔符vs.逗号作为分隔符
在此视频中,演讲者说: “有些人对逗号的工作方式感到困惑。他们认为它们应该是定界符而不是分隔符。现在您可以以任何一种方式来考虑它们。” 我不明白分隔符和分隔符(如果有)之间的区别。视频中的含义是,现在(尾随逗号是有效的),人们可以将它们视为定界符,而不是分隔符... 顺便说一句,该语言是JavaScript。据我了解,逗号令牌有两个含义: 作为操作员(很少使用) 作为分隔符(在参数和参数列表,数组和对象文字等中) 我不确定逗号分隔符如何适合这个...
13 javascript 

14
我不记得学习5分钟后编程吗?[关闭]
很难说出这里的要求。这个问题是模棱两可,含糊,不完整,过于宽泛或夸张的,不能以目前的形式合理地回答。如需帮助澄清此问题以便可以重新打开, 请访问帮助中心。 8年前关闭。 我正在学习Java,并且找到了一位很棒的老师。他完美地解释了一切。我明白一切。我的问题是,在学习了一小段内容后,例如“嵌套的if语句”或“许多方法和实例”,我可以很好地键入所有内容,但是在5分钟后,进入新的部分(当我进入对上一节感到满意)我忘记了为上一节键入的代码。你们用来记住代码的任何技巧或技术吗?
13 java  javascript 

2
您如何更改intellij自动格式化代码的方式?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 4年前关闭。 IntelliJ对Javascript代码进行了一些奇怪的格式化,而我正在尝试弄清楚如何使其停止格式化。每当我将jQuery函数链接在一起时,它就会缩进自动创建的代码,例如: $('#something').focus(function() { /* Do some stuff */ }).blur(function() { /* this is where the cursor and closing braces end up */ }) 我希望它看起来像这样: $('#something').focus(function() { /* Do some stuff */ }).blur(function() { /* cursor and closing braces indented normally */ }); 我该如何更改?

5
遗传程序设计
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 最近,我在浏览Reddit时遇到了一个链接到“ JavaScript遗传算法”示例的帖子。我对遗传算法和编程的概念非常着迷,但是即使经过了谷歌搜索,我仍然感到有些困惑。它是如何工作的? 我想这些词汇对我来说比什么都使我更困惑。我希望能看到一些简短的例子,也许还有一些解释。只是基因编程的概念以及我如何在项目中实现它,为什么?

7
javascript Eval功能的“不当使用”是什么构成的?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 评估是一个有争议的语言功能。道格拉斯·克罗克福德(Douglas Crockford)坚决反对。我想知道Eval会带来什么具体风险。根据这个问题,Improper use of eval opens up your code for injection attacks。 使用Eval命令有哪些不当使用,它们会打开哪些安全漏洞?
13 javascript 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.