javascript functionでブラウザの挙動の違い

function hoge(val = 0) の挙動

function hoge(val = 0){ 
    alert(1);
}

これ、firefox(39.0.3)だと動いたけど、
chrome(44.0.2403.130 (64-bit))ではエラーになっちゃいます。。

firefoxなんでも動いちゃうのもあるけど、ありがち注意!

javascript カンマ区切りの金額表示色々(小数点切り捨ても)

一番簡単な方法

var num = 9800;
num.toLocaleString(); //9,800

ただし、対応していないブラウザ云々があります。IE10等

その他1

var num = 9800;
String( num ).replace( /(\d)(?=(\d\d\d)+(?!\d))/g, '$1,' ); // 9,800

9,8,00
とか
9,800

僕が採用したカンマ区切り

// カンマ区切りフォーマット対応
function moneyDisplayFormat(str) {
    var num = new String(str).replace(/,/g, "");
      while(num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2")));
        return num;
}

// 呼び出し
moneyDisplayFOrmat("1,99,9");

1,99,9
とか
1,000,
とか
カンマが変な位置あっても対応している。

小数点が入っている場合は、
1,99,9.023 => 1,999.023と出る。

小数点を切り捨てしたい時

var num = Math.floor(1999.533); // 切り捨て 1999

var num = parseInt(1999.533); // 1999

cakephp 指定のViewでheader内にjs、cssを指定するメモ

cakephp1.3を利用していて、指定の画面だけに、特定のCSSやjavascriptを利用したい場合がある

便利なようにcakephpでは、下記方法で指定が可能でした。

 

# app/view/hoge.ctp
echo $html->script('jsfile', array('inline' => false));
echo $html->css('cssfile', null, array('inline' => false));

ただ条件として、app/webroot/layout/default.ctpなどで、
予め、

<head>
<?
echo $scripts_for_layout;
?>
</head>

となっている必要があります。

 

またインラインでjs,CSSを利用したい場合は、普通に下記のように設定すればOK!

Viewはこんな感じ

#app/view/hoge.ctp
<?php
echo $javascript->link('jsfile');
?>

コントローラは↓

#app/controllers/hoges_controller.php

var $helpers = array('Javascript');

jQueryを使ったアニメーショングラフが作れるjsライブラリ!

最近はJS=jqueryなぐらい、javascriptといえばjqueryという感じですが、
今度はカッコイイデザインのグラフを作る際も、jqueryを使ったライブラリでできてしまうそうです!

それがこれ!

『Elycharts』
http://elycharts.com/examples

いままで、結構グラフ部分をこだわろうとするとFlashを使ったライブラリを選択せざるおえませんでしたが、JSだけでここまでできればもうFlashをわざわざ利用する必要もなさそうです!
(めちゃくちゃ派手だと難しいかもしれませんが汗)

もうブラウザはJSの奴隷かもしれません。。。;