kamikamituka kamikamituka 2015-06-15 00:40:45

[JavaScript] dは良い奴だったよなぁ このエントリーをはてなブックマークに追加

投稿者からのアピールポイント

もう初っ端からおかしい
コメントの指摘者が直せよって言いたいけど何が起こるかわからんし無理なんだよなぁ

ファイル名はpublicUtility.js
10万行を超えています
コード中のコメントは実際に書かれていたコメントです

//js用のおまじない
var use_strict = "use strict";        //これは何の意味も持たない書いたのは誰?

//足し算の結果を返す
function add(a, b, c, d, e) {
	var a = a || 0;
	var b = b || 0;
	var c = c || 0;
	var d = d || 0;
	var e = e || 0;
	return a + b + c + e;
}

使い方ヒント: 「これは臭う」という行を見付けたら、各行のsmellをクリックしてマーキングしておきましょう(要Twitter OAuth認証)

コメント(7)

#1 kamikamituka kamikamituka 2015-06-14 01:14:03  

「var a = a || 0;」系にマーキングされてんだけどこれの理由を誰かに説明して欲しいな

#2 m0fum0fum0 m0fum0fum0 2015-06-24 18:04:33  

引数と同じ名前のvarするとどうなるの?どうなるべきなの?教えてください!

#3 kamikamituka kamikamituka 2015-06-25 01:14:57  

以降は関数内で定義された方の変数を参照します。 「var a = a || 0」自体は引数のaが定義されてなかった場合(nullかundefined)に0を代入するという動作です 引数が足りていなかった場合にエラーになるのを防ぎます

ですが、これは「var a = a || 0」ではなく「a = a || 0」とするのが良いと思いますので、ボクの最初のコメントがおかしいです

#4 m0fum0fum0 m0fum0fum0 2015-06-25 11:31:41  

分りました!varは引数と同じだから単に再varと同じなんですね。

var a, b, c, d, e; // 冗長
a = a || 0; // 引数のa
b = b || 0;
#5 IceSofticon30th IceSofticon30th 2015-07-08 11:49:44  

dェ…

#6 levena_evenas levena_evenas 2015-08-08 00:17:07  

ES6のデフォルト引数使ってどうぞ

#7 mikecat_mixc mikecat_mixc 2015-09-23 22:09:42  

Firefox 40.0.3で実験

"use strict"; ← 意味がある
var use_strict = "use strict"; ← 意味が無い

コメント投稿には、twitter認証が必要です。

Twitter認証

このウンコードに臭った人は、こちらのウンコードにも臭ってます

[Java] is禁止令

このエントリーをはてなブックマークに追加

ウンコードの趣旨とは違い、レビューで指摘...

// Mod yamada Start

// 一般的に考えて真偽値を返すメ...

鑑賞する »

[HTML] お前の<html>は天を突く<scrip...

このエントリーをはてなブックマークに追加

天元突破してるHTML

**s...

<script type="text/javascript" >
// (ry...

鑑賞する »

[C] NULL と 8 の何故

このエントリーをはてなブックマークに追加

テストは通ってるけど、教科書からやり直し...

#define TO_STRING(n, str) \
  if(n != N...

鑑賞する »