如何检查对象是否在JavaScript中具有属性?
考虑:
x = {'key': 1};
if ( x.hasOwnProperty('key') ) {
//Do this
}
Run Code Online (Sandbox Code Playgroud)
这是最好的方法吗?
这似乎是显而易见的,但我发现自己对于何时使用花括号在ES6中导入单个模块感到困惑.例如,在我正在处理的React-Native项目中,我有以下文件及其内容:
initialState.jsvar initialState = {
todo: {
todos: [
{id: 1, task: 'Finish Coding', completed: false},
{id: 2, task: 'Do Laundry', completed: false},
{id: 2, task: 'Shopping Groceries', completed: false},
]
}
};
export default initialState;
Run Code Online (Sandbox Code Playgroud)
在TodoReducer.js中,我必须在没有花括号的情况下导入它:
import initialState from './todoInitialState';
Run Code Online (Sandbox Code Playgroud)
如果我initialState
用大括号括起来,我会得到以下代码行的错误:
TodoReducer.js:无法读取未定义的属性待办事项
export default function todos(state = initialState.todo, action) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
使用花括号的组件也会发生类似的错误.我想知道何时应该使用大括号进行单次导入,因为很明显,当导入多个组件/模块时,你必须将它们用大括号括起来,我知道.
编辑:
所谓张贴在这里并没有回答我的问题,而不是我问的时候我应不应该用花括号用于导入单个模块,或者我不应该用花括号中ES6导入单个模块(这显然不是例如,我已经看过需要花括号的单个导入)
最近,我一直看到标签"webkit"的问题.这些问题通常倾向于与CSS,jQuery,布局,交叉浏览器兼容性问题等相关的基于Web的问题......
那么这个"webkit"是什么?它与CSS有什么关系?我还注意到-webkit-...
各种网站的源代码中有很多属性.这两个有关吗?
所以从目前为止的答案...... WebKit是Safari/Chrome的HTML/CSS Web浏览器渲染引擎.IE/Opera/Firefox是否有这样的引擎?使用其中一个的优点和缺点是什么?我可以在Firefox中使用WebKit功能吗?
最终的问题...... IE支持WebKit吗?
所有主流浏览器都使用不同的渲染引擎.我想这就是为什么有这么多跨浏览器兼容性问题的一个重要原因!
那么,是否有某种项目或移动到所有浏览器将使用的标准渲染引擎?HTML5会结束跨浏览器兼容性问题吗?
我是React的新手,我正在尝试编写一个使用API的应用程序.我一直收到这个错误:
TypeError:this.setState不是函数
当我尝试处理API响应时.我怀疑这个绑定有问题,但我无法弄清楚如何修复它.这是我的组件的代码:
var AppMain = React.createClass({
getInitialState: function() {
return{
FirstName: " "
};
},
componentDidMount:function(){
VK.init(function(){
console.info("API initialisation successful");
VK.api('users.get',{fields: 'photo_50'},function(data){
if(data.response){
this.setState({ //the error happens here
FirstName: data.response[0].first_name
});
console.info(this.state.FirstName);
}
});
}, function(){
console.info("API initialisation failed");
}, '5.34');
},
render:function(){
return (
<div className="appMain">
<Header />
</div>
);
}
});
Run Code Online (Sandbox Code Playgroud) 给定一个JS对象
var obj = { a: { b: '1', c: '2' } }
Run Code Online (Sandbox Code Playgroud)
和一个字符串
"a.b"
Run Code Online (Sandbox Code Playgroud)
如何将字符串转换为点符号,以便我可以去
var val = obj.a.b
Run Code Online (Sandbox Code Playgroud)
如果字符串只是'a'我可以使用,'a'
但这更复杂.我想有一些简单的方法,但它目前逃脱了.
我怎样才能改变一个大object
到array
与lodash?
例:
var obj = {
22: {name:"John", id:22, friends:[5,31,55], works:{books:[], films:[],}
12: {name:"Ivan", id:12, friends:[2,44,12], works:{books:[], films:[],}
}
// transform to
var arr = [{name:"John", id:22...},{name:"Ivan", id:12...}]
Run Code Online (Sandbox Code Playgroud)
谢谢!
如果找不到源图像,我需要在表格的单元格中显示替代图像.目前,下面的代码用于执行此操作.
cell.innerHTML="<img height=40 width=40 src='<%=request.getContextPath()%>/writeImage.htm' onError='ImgErrorVideo(this);'>"
function ImgErrorVideo(source){
source.src = "video.png";
source.onerror = "";
return true;
}
Run Code Online (Sandbox Code Playgroud)
现在问题是上面的解决方案是在Internet Explorer中工作但在mozilla中不起作用.
请告诉我一些适用于所有浏览器的解决方案.
我试图阻止一个表格,其宽度明确地声明不会溢出它的父级div
.我认为我可以用某种方式做到这一点max-width
,但我似乎无法让这个工作.
以下代码(窗口非常小)将导致:
<style type="text/css">
#middlecol {
width: 45%;
border-right:2px solid red;
}
#middlecol table {
max-width:100% !important;
}
</style>
<div id="middlecol">
<center>
<table width="400" cellpadding="3" cellspacing="0" border="0" align="center">
<tr>
<td bgcolor="#DDFFFF" align="center" colspan="2">
<strong>Notification!</strong>
</td>
<tr>
<td width="50">
<img src="http://www.example.com/img.png" width="50" height="50" alt="" border="0">
</td>
<td>
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi …
Run Code Online (Sandbox Code Playgroud) 每当我尝试在React中使用Font Awesome图标时render()
,虽然它在普通HTML中工作,但它不会显示在生成的网页上.
render: function() {
return <div><i class="fa fa-spinner fa-spin">no spinner but why</i></div>;
}
Run Code Online (Sandbox Code Playgroud)
这是一个实例:http://jsfiddle.net/pLWS3/
故障在哪里?
作为React世界的初学者,我想深入了解当我使用时会发生{this.props.children}
什么以及使用相同的情况.它在下面的代码片段中的相关性是什么?
render() {
if (this.props.appLoaded) {
return (
<div>
<Header
appName={this.props.appName}
currentUser={this.props.currentUser}
/>
{this.props.children}
</div>
);
}
}
Run Code Online (Sandbox Code Playgroud) javascript ×7
reactjs ×3
css ×2
html ×2
arrays ×1
ecmascript-6 ×1
font-awesome ×1
frontend ×1
html-table ×1
image ×1
import ×1
lodash ×1
object ×1
react-redux ×1
webkit ×1