所以在SO上有一些问题可以解答如何检查对象上的属性是否存在.示例答案是使用Object.prototype.hasOwnProperty()
.
但是,如何检查可能未定义的对象的属性?
如果要尝试直接检查未定义对象上是否存在属性,那么它将是一个引用错误.
在语义上,直接检查代码似乎更好if (obj.prop) //dosomething
- 它显示更清晰的意图.有没有办法实现这个目标?优选地,是否有内置的Javascript方法来执行此类操作或按照惯例?
Motive:一个包添加了属性user.session.email - 但我正在检查是否存在电子邮件,而不是会话,尽管会话可能不存在.
更新:许多答案都说使用&&运算符进行短路.我知道这是一个可能的解决方案,但它并不完全是所期望的,因为我们似乎正在使用JS对象语法 - 也就是说,虽然你想真正检查一个对象的属性,你被迫检查对象是否存在以便这样做.
注意标记为已关闭为什么标记为已关闭?假设这是重复的链接可能不会产生相同的答案.我们正在寻找一种更好的,更具语义性的解决方案,并且标记这种封闭使得"嵌套"==="可能未定义"的假设.
这个问题是有争议的: 因为我现在无法回答我自己的问题.截至最近,这里提出了一项提案,可以解决这个问题.同样,问题需要一个更具语义性的解决方案,如提案中所示.
关于如何解决这个问题(添加top: 0
),有很多关于SO的问题,但没有一个问题试图解释标题运动背后的原因.我更好奇为什么会这样.
<header>Project Header</header>
<main class="container" id="layout-mainContent">
<div class="row" id="first-row">somecontent</div>
</main>
header {
position: fixed;
}
#layout-maincontent {
margin-top: 90px; //moves header down.
}
Run Code Online (Sandbox Code Playgroud)
类似问题清单,但没有任何理由:
认为固定标题粘在浏览器窗口的顶部并且不应该因为另一个非定位的非子,非父div(也称为兄弟)而移动似乎是合理的.ESP.因为固定标题超出正常文档流程.关于固定定位的MDN
假设: 混淆源于固定元素相对于浏览器窗口的想法.这是事实,但是使用视口计算.视口使用常规文档流中的元素计算.因为文档流中的第一个div是非标题div,所以视口在应用margin-top之后开始.这只是猜测,我很乐意看到有人确认或纠正我.
我的公司使用公共信息亭运营.这些信息亭运行的是Windows 8,虽然它们是安全的,但它们肯定不如您在银行看到的AKA ATMS信息亭那么安全.运行Windows 8的原因是利用Microsoft最近推出的新Kiosk功能.但是,如果正在运行或打算运行的软件在Windows应用商店中作为应用程序可用,则OS似乎仅允许在此KIOSK模式下运行.
此时所需的软件无法存放到Windows应用商店,但我仍然希望利用Kiosk功能.如何使用自助服务终端功能并仍然运行所需的应用程序?Kiosk模式的官方MS术语是Assigned Access.
我们尝试通过最少的用户访问权限以及启动时启动软件来尽可能地锁定自助服务终端.另外,我们尽可能使用BitLock.但是,启动软件仍然存在延迟,有人确实认为网上冲浪很可能会这样做.
我知道Microsoft已经为Windows应用商店应用设置了Assigned Access规则,但我仍然在寻找任何可能的解决方法.甚至可以快速制作Windows应用商店应用的方法,仅适用于我的用途.欢迎使用第三方软件.但任何有助于我们案件的建议都值得赞赏.
当然,在Active Directory,GPEdit和Registry中玩游戏将更接近我想要实现的目标.我面临的主要问题之一是Windows桌面和Metronic UI将在应用程序加载之前加载,而在Kiosk模式下:请参阅此处 - 启动时间更快.
用户使用此启动时间来检查和使用攻击的时间.因此即使有很好的定制,我也会遇到这样的问题:它永远不会像MS那样有效.最后,我将其留给MS以获得最佳结果.
很多人都在寻找这个答案,我敢肯定,任何帮助都表示赞赏.
TLDR:如何在没有Windows应用商店应用的情况下使用Windows 8.1 Kiosk功能,但是有软件吗?
设计师通常使用Illustrator,Sketch等工具对我们的网站进行原型设计.当这样做时,设计人员会尽量记住开发人员将使用的网格,以便最好地向开发人员传达准确的测量结果.
网格通常按以下顺序实现:
在工具中设置网格后,设计人员将尝试将块放置到网格系统中,从列开始而不是排水沟.如下所示:
然而,在Bootstrap v3中,一些元素占据了排水沟的宽度,因此这可能是不合适的,并且导致对如何正确地设计这些网站的混淆.在下面的示例中,这些是表单输入.注意输入如何开始并包括15px装订线填充(插入十二个.col-xs-1,其中有跨距以指示边框).Codepen链接
.col-xs-1, .col-xs-3
background-color: blue
.col-xs-1 span, .col-xs-3 span
background-color: pink
.form-control
background-color: black !important`
Run Code Online (Sandbox Code Playgroud)
然而在我的设计中,我试图从列开始,如下所示(列由灰色空间表示,由于响应性,列只是很薄但是排水沟保持不变 - 大小适合iPhone 6加).
我误会了什么吗?由于我自己开发和设计产品,我不确定如何在Bootstrap中为包含设计中的阴沟的这些元素获得精确测量,然后开发它以匹配设计.当一些元素看起来占据了排水沟的宽度时,我如何设计Bootstrap网格?或者相反,如何更改Bootstrap代码以使某些元素不占用装订线的宽度?
元素通常采用排水沟的宽度吗?如果是这样,为什么设计师希望从专栏设计?
(PS我知道有一个设计Stack Exchange,但我觉得这个问题可能来自对Bootstrap的误解而不是设计原则)
我正在为我的实例创建一个新的AWS VPC.但是,我注意到当我使用CIDR Notation创建VPC和公共子网时,AWS表明我有n ^ 2 - 4(其中n是位数)可用的IP地址?为什么是这样?
据我所知,当n ^ 2 -2出现时,通常会删除位为全0或全1的情况.但我不确定为什么 - 在这种情况下是4.
/ 28表示当我预期15或13时可用的11个IP地址,而当我预期为255或253时表示251
我正在寻找使用SCSS为H1到H6创建尺寸.这个例子假设我已经创建了变量$ base-size和$ modular-scale.特别:
h6: $base-size * $modular-scale * 1
h5: $base-size * $modular-scale * 2
h4: $base-size * $modular-scale * 3
...
h1: $base-size * $modular-scale * 6
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何使用mixin或函数(或此任务的任何适当功能)生成这些类中的每一个.
到目前为止我有:
@mixin make-header-size ($type, $scale) {
.#{$type} {
$type * $scale * (...scalar)
}
}
Run Code Online (Sandbox Code Playgroud)
不知道如何完成其余的工作,以便我可以简洁地生成这些尺寸.
为什么text-align:center headers?标题是块元素h1,h2等.为什么文本对齐中心标题,即使文档明确说明它没有:文本对齐的文档
此属性描述块容器的内联级内容如何对齐.
我有点困惑为什么它不会像div那样居中一个块元素,而是愿意集中标题.可能是因为标题内的文本是内联的,但实际的标题本身是一个块元素?
http://codepen.io/stephenhuh/pen/KrkLZG - 这个现象的代码.
* {
text-align: center;
}
.box {
background-color: blue;
width: 150px;
height: 150px;
}
Run Code Online (Sandbox Code Playgroud) var digits = "B2";
var re = new RegExp("/\d+/");
console.log(/\d+/.test(digits));
console.log("digits matches to :", digits.match(re));
Run Code Online (Sandbox Code Playgroud)
为什么digits.match(re) 返回NULL 而.test 返回true?当我运行digits.match("/\d+/"); 我得到了正确的答案。
css ×4
html ×4
javascript ×2
amazon-ec2 ×1
amazon-vpc ×1
c# ×1
cidr ×1
css-position ×1
css3 ×1
kiosk ×1
kiosk-mode ×1
mixins ×1
object ×1
regex ×1
sass ×1
text-align ×1
vpc ×1
windows-8 ×1