我正在尝试学习get和设置JavaScript对象,我试过
function ab(n){this.name=n;};
var c= new ab("abcde");
console.log(c);
Object.defineProperty(c, 'name', {
get: function() {
return name;
},
set: function(Name) {
this.name = Name;
}
});
c.name="xyz";
console.log(c.name);
Run Code Online (Sandbox Code Playgroud)
这里我首先使用构造函数创建对象,然后使用get和set.但我收到错误"超出最大调用堆栈大小".我没有得到这个错误的原因.感谢帮助
我在javascript中试过这段代码
function abc(){
try{
console.log(0);
throw "is empty";}
catch(err){
console.log(1);
return true;
}
finally{return false;}
return(4);
}
console.log(abc());
Run Code Online (Sandbox Code Playgroud)
我输出为假.我理解最后总是执行不管try catch的结果但是catch中返回语句会发生什么.
我是AngularJs的新手我正在获取格式的json数据:
[
{
'StudentName':'abc',
'maths':'0',
'english':'0',
'economics':'0',
}
]
Run Code Online (Sandbox Code Playgroud)
我想计算每个学生的分数,如果分数小于40%,那么表格行应该是红色,否则应该是绿色.我试过了.HTML
<div ng-app="MyApp" ng-controller="con1">
<table id="table1">
<tr>
<th>student Name</th>
<th>History Marks</th>
<th>Maths Marks</th>
<th>Economics Marks</th>
<th>Percentage</th>
</tr>
<tr ng-repeat="x in data" ng-if="{{co(per(x))}}" ng-class="pass">
<td>{{x.StudentName}}</td>
<td>{{x.maths}}</td>
<td>{{x.economics}}</td>
<td>{{x.english}}</td>
<td>{{per(x)}}%</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
脚本
var app = angular.module('MyApp', []);
app.controller('con1', function ($scope, $http) {
$http.get('/ajax/data').success(function (res) { $scope.data = res; });
$scope.per = function (x) {
avg = ((parseInt(x.maths) + parseInt(x.economics) + parseInt(x.english)) * 100) / 300;
return avg;
};
$scope.co = function (x) …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 sinon 来存根类属性。
function wrapper() {
this.obj = {"message":"hello"};
this.sendmessege = function() {
console.log(this.obj.message);
return "message is:" + this.obj.message;
}
}
// stub
var wrap = new wrapper();
stub = sinon.stub(wrap , 'sendmessege', function () {
return 'hola';
});
stub1 = sinon.stub(wrap , {'obj':
{'message':'hii'}
});
console.log(stub1);
Run Code Online (Sandbox Code Playgroud)
它给了我
错误:尝试将对象属性 obj 包装为函数。
我如何存根 obj ?
我正在使用 combineReducer 像这样组合减速器和减速器
const todo = (state = {}, action) => {
switch (action.type) {
//...
case 'TOGGLE_TODO':
if (state.id !== action.id) {
return state
}
return Object.assign({}, state, {
completed: !state.completed
})
default:
return state
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果我像这样定义减速器,我会闻到声纳代码的味道
Function parameters with default values should be last1
Run Code Online (Sandbox Code Playgroud)
但是在这个序列中结合reducer pass参数只是如何解决这个问题?
我是CSS编程的新手。使用overflow:hidden隐藏图像大于DIV区域。也许我希望图像的隐藏部分应该在左侧,但目前它在右侧。我的代码如下。
HTML代码:
<div class="a1">
<img src="img/image4.jpg">
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
.a1{height:200px;width:100px; overflow:hidden;}
Run Code Online (Sandbox Code Playgroud) 我是正则表达式概念的新手。
我试图制作货币正则表达式,其中
金额应该是格式化的数字字符串,使用 ',' 作为千位分隔符和 '.' 为小数点分隔符。
金额应精确到小数点后两位
金额应该是一个非零的正值
我试过这个
test1= /^\d{1,3}?([,]\d{3}|\d)*?\.\d\d$/;
test1.test(1,100.00);
Run Code Online (Sandbox Code Playgroud)
但它不能满足我的要求。建议我如何实现这一点。
我最近开始学习Javascript,同时使用此代码中的代码进行一些实验:
var k = {
ab: "hi",
func: function() {
console.log("inner1" + this.ab);
(function() {
console.log("inner2 " + this.ab)
}())
}
};
k.func();
Run Code Online (Sandbox Code Playgroud)
这段代码给我的结果是"inner1 hi"和"inner2 undefined".
我没有得到它undefined的第二个原因console.log?
我试图使用 + 符号连接两个数组,但我得到的结果是:第一个数组的最后一个元素连接到第二个数组的第一个元素为什么会发生这种情况是我尝试过的任何具体原因
var a=[1,2,3];
var b=[5,7,8];
console.log(a+b);
Run Code Online (Sandbox Code Playgroud)
我得到的结果是 1,2,35,7,8