JavaScriptでGETパラメータを取得する関数。 "var getVal = getUrlVars();"とかやると、GETパラメータがObjectで入る。 /** * GETパラメータを配列にして返す * * @return パラメータのObject * */ var getUrlVars = function(){ var vars = {}; var param = location.search.substring(1).split('&'); for(var i = 0; i < param.length; i++) { var keySearch = param[i].search(/=/); var key = ''; if(keySearch != -1) key = param[i].slice(0, keySearch); var val = param[i].s
var a = {}, b = [], c = 'hoge', d = new String('hoge'); typeof a; // "object" typeof b; // "object" ← ファッ?! typeof c; // "string" typeof d; // "object" ← ファッ?! Object と Array を区別してくれないとかないわー。new String()使うことないけど、区別しちゃうとかないわー。 ということで以前に自分が日本語訳したJavaScript Gardenにも書いてあった方法を使うと 判別が楽になるんじゃないかと。 function is(type, obj) { var clas = Object.prototype.toString.call(obj).slice(8, -1); return obj !== undefin
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su
どうやら僕はround()の人なんだそうです(参考資料)。それはそうとして、もう少し前までは==の人だった気がしますので、その頃の話題を再掲します。 僕は2年ほど前に「==がキモい件」などのタイトルで勉強会で発表していた頃がありました。PHPの==演算子の挙動について、啓蒙が必要だろうと考えていたためです。当時に比べれば最近はPHPの==演算子の不思議な挙動に関する記事を見る気がしますが、まだまだキモさの全容を把握している人は少ないような気もします。 PHPの==演算子の何がキモいのか、一言で言うと両辺の値の型をテキトーに合わせて比較する点です。言い換えると、「型はさておき、等しい値を意味しているようならtrue」という演算子です。 マニュアルの「PHP 型の比較表」の「==による緩やかな比較」を見てもキモさがチラホラ見えるんですが、今回は更に突っ込んだ比較表を作ってみました。 まずは以前
JavaScript おれおれ Advent Calendar 2011 – 20日目 これだけ。 undefined null boolean number string object 配列とか日付とかは、全部オブジェクトの一種です。 さらにこれらもobjectとそれ以外でも分かれていて、objectじゃない方をプリミティブ型と呼びます。 (※primitive … (形)原始的な、根本的な) null以外の型を調べるにはtypeof演算子を利用します。 console.log(typeof undefined); // => "undefined" console.log(typeof null); // => "object" // "null"じゃない! console.log(typeof true); // => "boolean" console.log(typeof 1);
補足(2010/12/01 03:00):floatからstringへのキャストで丸められる桁数についてですが、php.iniの設定値「precision」の影響を受けるようです。 僕は以前から「PHPの==はキモいから===を使おうよ」と言っているつもりです(参考:「PHPの==がキモい件」)。しかし、ネット上には==を使った比較での不慮の事故を防ぐ目的で、「安全な==」としてstrcmp関数を使って比較している人が居るようです。このやり方について問題点を指摘します。 strcmpで比較するというのはstring型にキャストをして比較するのと同じですから、キャストして何が起こるか熟知していないと比較結果は想像がつきません。僕は全ての型からstring型へのキャストで何が起こるかスラスラ言えるわけではありませんから、何でもstrcmpするのは==を使うのと同じように怖いと感じます。 今回、
2011年12月21日12:00 カテゴリLightweight Languages javascript - instanceofでは不十分な理由とtypeof()の再^3発明 JavaScript: The Definitive Guide (6th Ed.) David Flanagan 一理あるけど… JavaScriptの型は6種類だけど大きく分けた2種類を絶対に覚えておくべき(JavaScript おれおれ Advent Calendar 2011 – 20日目) | Ginpen.com typeof(null)がobjectだったりするのはどうかと思いますが、ArrayとObjectの区別がつかなかったりするのはいいんじゃないですかね。そういうのはinstanceofの領分だと思うのです、Dan Kogai先生。 instanceofではだめなときもあるのですよ。 たとえば
2011年12月07日03:30 カテゴリLightweight Languages javascript - 関数名の取得とtypeof()の再々発明 な、なんだってー!? はてなブックマーク - kamisetoのブックマーク constructor.nameを見ればいいんじゃなの?違うのかな? そんなおいしいプロパティなんて、あったっけ? MDNの中で逢った、ような… constructor.name?そんなのJavaScript: The Good Partsどころかサイ本でも見たことねーぞ。でもconsoleつついたら確かに使える… 見つけました。 Function - MDN name Non-standard The name of the function. Non-standard, Non-standard, Non-standard、だと!? 実際いろいろ嗅ぎ回ってみ
http://d.hatena.ne.jp/mikeda/20090228/1235839592 より、浮動小数点数(float型)を文字列に変換する場合、printf(), spfintf()を使おう。 結果が意図した書式にならない場合(科学表記)になることがある。 <?php $f = 0.00001; echo $f, "\n"; # => 1.0E-5 echo sprintf('%f', $f), "\n" # => 0.00001 echo sprintf('%E', $f), "\n" # => 1.000000E-5 整数を使っているつもりでも、大きな数値の場合は、浮動小数点数に切り替わっていることもあるので、要注意。
こんにちは、塩浦です。 さて、今回は、PHPの関数に焦点を当てたネタにしたいと思います。 私は、もともとJavaエンジニアでした。PHPを使い始めて、悩むのは関数です。 ついつい便利な関数の為、あまり深く考えずに使用しがちですが、意外に思っていた動作と異なることがあったりと、癖がある一面があります。 そこで、特に使用される場面も多いと考えられるnull判定や空文字判定の関数を焦点を当てて、PHPの関数の癖を認識することによって、今後のプログラムの品質をあげていきたいと思います。 まず、null判定で使用される関数の一部が以下になります。 is_null empty isset PHPの変数は、宣言だけした場合、その中身はどうなっているのでしょうか? <?php $hoge; var_dump($hoge); 実行結果 NULL (※警告が表示されますが。。。) Java言語だと、も
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く