小编Lon*_*Int的帖子

'.class'属性如何工作?

第一次用Java开发,第一次开发Android,所以这是一个相当新的问题.

我目前有这个代码:

public void onBtnClicked(View v){
    /** Handles button navigation */

    @SuppressWarnings("rawtypes")
    Class c;
    int viewId = v.getId();

    switch (viewId) {

    case R.id.btnNewTourny :
        c = NewTourny.class;
        break;
    case R.id.btnTeamEditor :
        c = EditTeam.class;
        break;
    case R.id.btnCatEditor :
        c = EditCat.class;
        break;
    case R.id.btnLoadTourny :
        c = EditCat.class;
        break;
    case R.id.btnNewCategory :
        c = NewCat.class;
        break;
    default :
        c = Main.class;
    }

    Intent myIntent = new Intent(v.getContext(), c);
    startActivityForResult(myIntent, 0);
}
Run Code Online (Sandbox Code Playgroud)

简短的问题:

什么是的.class属性来完成,f.ex. 在' c = NewTourny .class …

java android class

20
推荐指数
1
解决办法
1万
查看次数

在计算Perlin噪音时,为什么Firefox比Chrome慢30倍?

我在javascript中编写了一个地图生成器,使用我在各个地方找到的经典perlin噪声脚本来获得我想要的功能.我一直在使用chrome,并且没有遇到任何地图问题.但是,当我在firefox中测试它时,速度非常慢 - 几乎挂起了我的系统.它在夜间构建方面表现更好,但仍然比Chrome慢30倍.

你可以在这里找到它的测试页面:http: //jsfiddle.net/7Gq3s/

这是html代码:

<!DOCTYPE html>

<html>
<head>
<title>PerlinMapTest</title>
</head>
<body>

<canvas id="map" width="100" height="100" style="border: 1px solid red">My Canvas</canvas>

<script src="//code.jquery.com/jquery-2.0.0.min.js"></script>
<script>
$(document).ready(function(){
    //Log time in two ways
    var startTime = new Date().getTime();
    console.time("Map generated in: ");

    var canvas = $("#map")[0];
    var ctx = canvas.getContext("2d");
    var id = ctx.createImageData(canvas.width, canvas.height); 

    var noiseMap = new PerlinNoise(500);

    var startx = 0;
    var starty = 0;

    var value = 0;

    for(var i = startx; i < canvas.width; i++){ …
Run Code Online (Sandbox Code Playgroud)

javascript performance cross-browser

11
推荐指数
1
解决办法
6862
查看次数

两个几乎相似的while循环之间的处理差异非常大

我正在编写一个函数,逐个像素地将图像绘制到画布元素.我注意到有一点,功能突然变得比以前更长 - 特别是从338x338像素画布到339x339像素画布.

将类似的函数放入jsfiddle,我得到相同的结果.while循环处理一个338x338的数组需要大约.6-7秒,而339x339的阵列大约需要6到9秒.24-25秒.

这种情况发生在Chrome上.在Firefox中,两者都需要大约.16秒

这是小提琴:http: //jsfiddle.net/8pb89/5/

代码如下所示:

var ary1 = [];
var ary2 = [];
var mapData = {};
var colorMatrix = {};

for (var i = 0; i < (338 * 338); i++) {
    ary1.push([i, i + 2]);
}

for (var i = 0; i < (339 * 339); i++) {
    ary2.push([i, i + 2]);
}

//Light operation
function test(i, j) {
    return Math.floor((i * j + i + j) / j);
}

//Heavy operation on …
Run Code Online (Sandbox Code Playgroud)

javascript optimization

8
推荐指数
1
解决办法
148
查看次数

JSDoc继承参数文档

假设我有两个函数,其中一个扩展另一个函数.

/**
* @abstract
* @param {Object} settings
* @param {Number} settings.x
* @param {Number} settings.y
* 
*/
function Base(settings) {
    this.x = settings.x;
    this.y = settings.y;
}

/**
* @extends Base
*/
function Foo(settings) {
    Base.call(this, settings);    
}
Run Code Online (Sandbox Code Playgroud)

这两个函数分为两个单独的文件.有什么方法可以从Base我的Foo函数中的函数继承参数文档,还是我必须编写两次文档?

我试图做settings一个@typedef这样的:

/**
 * @typedef {Object} BaseSettings
 * @property {Number} x
 * @property {Number} y
 *
 */

/**
* @extends Base
* @param {BaseSettings} settings
*/
function Foo(settings) {
    Base.call(this, settings);    
}
Run Code Online (Sandbox Code Playgroud)

但这只是链接到全局类型定义,我希望参数记录在与该函数相同的页面上.但是,如果不编写文档两次,这是否可能?

jsdoc

8
推荐指数
1
解决办法
1454
查看次数

使用Math.random()获得50/50几率的正确函数

这是获得精确50/50机会的正确功能:

return Math.random() < 0.5;
Run Code Online (Sandbox Code Playgroud)

VS

return Math.random() <= 0.5;
Run Code Online (Sandbox Code Playgroud)

javascript

6
推荐指数
2
解决办法
3668
查看次数

在对象内部使用“this”和对象名称进行引用有什么区别?

如果我有以下代码:

var obj = {

    x: 34,

    init: function() {
        alert(this.x);
        alert(obj.x)
    }

};
Run Code Online (Sandbox Code Playgroud)

两个警报都显示 34。但是有什么区别,一个比另一个更好吗?

http://jsfiddle.net/4scz435q/

我在jsperf中进行了测试,看起来速度this更快一些,但我仍然不明白这两个版本的内部工作原理。 http://jsperf.com/name-vs-this-in-obj

javascript

5
推荐指数
1
解决办法
203
查看次数

JavaScript返回错误后执行代码

我正在使用一个函数来检查是否填写了必填字段.我有这两个功能,应该做同样的事情,但第一个没有.在遇到退货后,javascript不应该停止执行代码吗?

此函数返回true:

//Checks if various stages are ready
function trnReady(area) {
    switch (area)
    {
        case 'settings':
            $('input.required').each(function(){

                if($(this).val() == '')
                {
                    return false;
                }
            }); 
        break;
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

虽然这个返回false:

//Checks if various stages are ready
function trnReady(area) {
    var r = true;
    switch (area)
    {
        case 'settings':
            $('input.required').each(function(){

                if($(this).val() == '')
                {
                    r = false;
                }
            }); 
        break;
    }
    return r;
}
Run Code Online (Sandbox Code Playgroud)

我以为第一次返回会停止执行代码?我想知道它是否与范围有关?

javascript

2
推荐指数
1
解决办法
4813
查看次数

一个范围到另一个范围的非线性插值

我正在努力创建一个将一个范围内插到另一个范围的函数。我已经有一个正常的线性插值功能,但是越来越“弯曲”的插值功能让我很困惑。

F.ex. 我想的范围内内插[0,100][0,1000]在一个方式,所以目标值接近0是更有可能比目标值接近1000(或反之亦然)。

我使用的一种方法是使用对数插值,它有一些令人讨厌的缺点:

  • 我使用粗略的技巧来处理负数(例如[-70,50]),方法是在计算之前先补偿范围
  • ``斜率''是不可调整的(例如,如果我希望目标值比线性插值更有可能或更大)

函数logPol(value,s1,s2,t1,t2){

var f = (value - s1) / ((value - s1) + (s2 - value));
var add = 0;

if(t1 <= 0 || t2 <= 0) {
    add = t1 >= t2? 2 * Math.abs(t2) + 1 : 2 * Math.abs(t1) + 1;

    t1 += add;
    t2 += add;
}

var interpolated = Math.pow(t2,f) * Math.pow(t1, 1-f) - add;


return interpolated; 
Run Code Online (Sandbox Code Playgroud)

};

我已经阅读了很多有关二次方程的文章,以为可以解决我的问题,但从未以有效的解决方案告终。如果需要进一步说明,请告诉我。

javascript

1
推荐指数
1
解决办法
739
查看次数

Android tablelayout 视图不出现

安卓编程新手。

我有一个布局 XML,我想向其中添加一个列表(包含来自数据库的项目),格式为表格。

这是代码:

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.edit_cat);

        DatabaseHandler db = new DatabaseHandler(this);
        List<Category> allCategories = db.getAllCategories();

        //Get the main layout from XML
        LinearLayout mainLayout = (LinearLayout) findViewById(R.id.edit_cat);

        //Create table layout for the categories
        TableLayout catList = new TableLayout(this);

        //Iterate the categories, and organize in tables
        for (Category category : allCategories) {
            TableRow tr = new TableRow(this);

            //Display category name
            TextView name = new TextView(this);
            name.setLayoutParams(new LayoutParams(                      
                    LayoutParams.FILL_PARENT,
                    LayoutParams.WRAP_CONTENT));

            name.setText(category.getName());


            //Display category type
            TextView type = new …
Run Code Online (Sandbox Code Playgroud)

android view

0
推荐指数
1
解决办法
4683
查看次数

是否可以使用"假父"类中的函数,将当前类作为属性?

以下示例定义了一个foo类,它构造一个bar类,并将其存储为属性$foo->bar.在bar类中,是否可以引用'false'父类,并使用它的函数?

class bar
{
    public function test_false_parent()
    {
            //Is it possible to access foo->display() from here
        {unknown code}::display();
    }
}

class foo
{
    public $bar;

    public function __construct()
    {
        $this->bar = new bar;
    }

    public function display()
    {
        echo "in";
    }
}

$foo = new foo;

$foo->bar->test_false_parent();
//Equivalent to $foo->display();
Run Code Online (Sandbox Code Playgroud)

php oop class

0
推荐指数
1
解决办法
40
查看次数

标签 统计

javascript ×6

android ×2

class ×2

cross-browser ×1

java ×1

jsdoc ×1

oop ×1

optimization ×1

performance ×1

php ×1

view ×1