我知道编译器对整数文字进行隐式类型转换.例如:
byte b = 2; // implicit type conversion, same as byte b = (byte)2;
Run Code Online (Sandbox Code Playgroud)
如果范围溢出,编译器会给出错误:
byte b = 150; // error, it says cannot convert from int to byte
Run Code Online (Sandbox Code Playgroud)
当变量传递表达式时,编译器会给出相同的错误:
byte a = 3;
byte b = 5;
byte c = 2 + 7; // compiles fine
byte d = 1 + b; // error, it says cannot convert from int to byte
byte e = a + b; // error, it says cannot convert from int to byte …
Run Code Online (Sandbox Code Playgroud) 如果我们像这样向Number函数(或Boolean或String)添加一个方法
Number.prototype.sayMyNumber = function(){
return "My number is " + this;
}
Run Code Online (Sandbox Code Playgroud)
然后创建一个数字对象将其分配给变量
var num1 = new Number(34);
num1.sayMyNumber(); // it says "My number is 34"
Run Code Online (Sandbox Code Playgroud)
这很好,并且在我们创建'Number'对象时可以预期.
同样,如果我创建一个原始变量
num2 = 34;
num2.sayMyNumber(); // it says "My number is 34"
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,num2也有一个方法sayMyNumber(),即使我们没有显式创建一个Number对象.
然后我试试这样,
34.sayMyNumber(); // error, this does not work
Run Code Online (Sandbox Code Playgroud)
为什么num2有效?
更新
这是我在评论部分提出的一个跟进问题,我将其放在此处以提高可见度
下面的答案提到num2在内部被视为'Number'对象.这让我更加困惑.
typeof num1 === "number" // returns false
typeof num2 === "number" // returns true
typeof num1 === "object" // returns true
typeof num2 === "object" // returns false …
Run Code Online (Sandbox Code Playgroud) 根据MDN
"日期对象基于时间值,即自UTC时间1970年1月1日以来的毫秒数."
那为什么它接受负面价值呢?
即使它确实不应该在1970年1月1日之前的负值平均值?
new Date('0000', '00', '-1'); // "1899-12-30T05:00:00.000Z"
new Date('0000', '00', '00'); // "1899-12-31T05:00:00.000Z"
new Date('-9999', '99', '99'); // "-009991-07-08T04:00:00.000Z"
Run Code Online (Sandbox Code Playgroud)
怎么了 ?
更新
对于某些正值,年份从1900年开始
new Date(100); // "1970-01-01T00:00:00.100Z" // it says 100Z
new Date(0100); // "1970-01-01T00:00:00.064Z" // it says 64Z
new Date("0006","06","06"); // "1906-07-06T04:00:00.000Z"
Run Code Online (Sandbox Code Playgroud)
另请注意,在最后一个中,日期显示为4,这是错误的.
我怀疑这是某种Y2K错误?!!
我有两个组件FormComponent
和Test1Component
。
Test1Component
用于ng-content
显示FormComponent
表单组件.ts
import { Component, Input, Output, EventEmitter } from '@angular/core';
@Component({
selector: 'app-form',
template:`
<div class="panel panel-default fcs-form">
<div class="panel-header form-header">
{{headerTitle}}
</div>
<div class="panel-body form-body">
<ng-content select="[form-body]"></ng-content>
</div>
<div class="panel-footer text-center form-footer">
<button class="btn btn-primary">{{resetBtnText}}</button>
<button class="btn btn-primary" (click)="saveForm()"> {{saveBtnText}} </button>
<button class="btn btn-primary">{{addBtnText}}</button>
</div>
</div>
`
})
export class FormComponent{
@Input() headerTitle:string = "Header Title";
@Input() saveBtnText:string = "Save";
@Input() resetBtnText:string = "Reset";
@Input() addBtnText:string = "Add";
@Output() …
Run Code Online (Sandbox Code Playgroud) 我的页面有两个主要部分 1) 顶栏 2) 容器。顶栏的固定高度为 50px,容器应具有剩余高度。
我尝试将容器高度设置为 100%,但它无法正常工作,因为它使网页采用 100% + 50px。因此,我得到了一个我试图避免的垂直滚动条。
这是一个小提琴来演示我的问题。请使用全屏视图 http://www.bootply.com/ov2s9oOVku
我该如何解决这个问题?
更新1
我尝试了此处发布的解决方案/sf/answers/1748540391/,但由于某种原因它对我不起作用。请参阅这个小提琴http://www.bootply.com/9iyQJ7Trw2。
我正在尝试使用http://getbootstrap.com/javascript/#popovers-examples中的此代码
<button type="button" class="btn btn-lg btn-danger"
data-toggle="popover" title="Popover title"
data-content="And here's some amazing content. It's very engaging. Right?">
Click to toggle popover
</button>
Run Code Online (Sandbox Code Playgroud)
但是我无法绑定到属性"data-content",它给了我以下错误.
无法绑定到'content',因为它不是'span'的已知属性
这是我的角度代码
<span data-toggle="popover" class="fa fa-exclamation-circle fa-lg" [data-content]="getTooltipMsg('lastName')"></span>
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
我想使用BrowserSync启动我的NodeJS应用程序,但它似乎无法正常工作.
错误消息:错误:听EADDRINUSE
编辑#1:
我找到了解决问题的方法.
gulp.task('sync', ['start', 'watch'], function(cb) {
browserSync.init({
files: ['**/*'],
proxy: 'http://localhost:3000',
port: 4000
});
});
gulp.task('start', function() {
var called = false;
return nodemon({
script: './bin/www',
watch: ['Application.js']
}).on('start', function onStart() {
if (!called) {
cb();
}
called = true;
}).on('restart', function onRestart() {
setTimeout(function reload() {
browserSync.reload({
stream: false
});
}, 500);
});
});
Run Code Online (Sandbox Code Playgroud)
我试图在AngularJS(v1.5.8)中创建一个图表组件,但由于一些奇怪的原因,chart.js没有被初始化.http://codepen.io/flyinggambit/pen/eBYezK
angular.module("dashboard", [])
.component("exceptionChart", {
template: "<canvas width='200' height='200' class='{{$ctrl.class}}'></canvas>",
bindings: {
class: '@'
},
controller: function($element) {
this.$postLink = function() {
// code for chart
var ctx = $element.find('canvas')[0];
var myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
datasets: [{
label: '# of Votes',
data: [12, 19, 3, 5, 2, 3],
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, …
Run Code Online (Sandbox Code Playgroud)