$(()=>{
let ahiru = new Ahiru();
let torikago = new Torikago();
var func1 = ahiru.bark.bind(ahiru); // ← コールバックにする関数にAhiruのオブジェクトを引数として渡す
torikago.setCallback(func1);
// テスト実行
torikago.move();
});
class Ahiru{
bark(){
this.barkDetail(); // thisはbindで渡されたAhiruオブジェクトを指している。
}
barkDetail(){
$('#res').html("ガーガー");
}
}
class Torikago{
setCallback(callback){
this.callback = callback;
}
move(){
this.callback();
}
}
出力
ガーガー
function test(){ var c1=new Class1(); c1.init(c1); c1.execution(); }クラス
var class1;//自分自身のインスタンス。コールバック関数内で使用する。 var Class1 =function(){ this.m_test='hello world'; this.init=function(instanse){ class1=instanse; } this.execution=function(){ //一秒後に関数をコールバックする。 setTimeout(function(){ //コールバック関数内 // 自分自身のインスタンスを通して、メンバの値を取得する。 × this.m_testを指定すると値が取れない。 var test=class1.m_test; alert(test); }, 1000); }; };サンプル
function test(){ var c1=new Class1(); c1.execution(c1); }クラス
var Class1 =function(){ //★引数に自分自身の this.execution=function(myself){ //一秒後に関数をコールバックする。 setTimeout(function(){ //コールバック関数内 // 自分自身のインスタンスを通して、メンバの値を取得する。 × this.m_testを指定すると値が取れない。 var test=myself.m_test; alert(test); }, 1000); }; };
<script src="LogForWorker.js"></script>
$( function() { var logW=new LogForWorker(); for(var i=0;i<32;i++){ logW.log(i); } var fLogs=logW.getFirstLogs(); $('#res_f').html(fLogs.join(',')); var lLogs=logW.getLastLogs(); $('#res_l').html(lLogs.join(',')); });
0,1,2,3,4,5,6,7,8,9 22,23,24,25,26,27,28,29,30,31サンプル
str=str.replace(/[!"#$%&'()\*\+\-\.,\/:;<=>?@\[\\\]^_`{|}~]/g, '');
str=str.replace(/[!"#$%&'()\*\+\.,\/;<>?@\[\\\]^`{|}~]/g, '');参照
var url="http://www.example.com:8080/animals/";//例 var host_domain = url.match(/^[httpsfile]+:\/{2,3}([0-9a-z\.\-:]+?):?[0-9]*?\//i)[1];
URL | 抽出ホスト・ドメイン |
---|---|
http://user_name99:pass_word99@www.example.com:8080/animals/neko?id=99&xx=88#kani | false |
http://www.example.com:8080/animals/neko?id=99&xx=88#kani | www.example.com |
http://example.com:8080/animals/neko?id=99&xx=88#kani | example.com |
https://example.com:8080/animals/neko?id=99&xx=88#kani | example.com |
ws://example.com:8080/animals/neko?id=99&xx=88#kani | false |
http://example.com/animals/neko?id=99&xx=88#kani | example.com |
http://example.com | false |
false |
extractHostDomain関数
/** * URLからホスト・ドメインを取得する。 * @param url URL * @returns ホスト・ドメイン(例:www.example.com) * @link http://stackoverflow.com/questions/8498592/extract-root-domain-name-from-string */ function extractHostDomain(url) { var host_domain; if (url.indexOf("://") > -1) { host_domain = url.split('/')[2]; } else { host_domain = url.split('/')[0]; } host_domain = host_domain.split(':')[0]; return host_domain; }
URL | 抽出ホスト・ドメイン |
---|---|
http://user_name99:pass_word99@www.example.com:8080/animals/neko?id=99&xx=88#kani | user_name99 |
http://www.example.com:8080/animals/neko?id=99&xx=88#kani | www.example.com |
http://example.com:8080/animals/neko?id=99&xx=88#kani | example.com |
https://example.com:8080/animals/neko?id=99&xx=88#kani | example.com |
ws://example.com:8080/animals/neko?id=99&xx=88#kani | example.com |
http://example.com/animals/neko?id=99&xx=88#kani | example.com |
http://example.com | example.com |
<form action="/neko/reg/" id="neko_form" method="post" > ・・・ </form>
$("#neko_form").submit();
<textarea id="pasting_csv" placeholder="CSVを貼り付けてください"></textarea> <input type="button" value="行列データ(JSON)に変換" onclick="execution1()" /> <div id="res"></div>
function execution1(){ var text = $('#pasting_csv').val(); var ary = text.split(/\r\n|\r|\n/); var data=[]; for (var i=0;i<ary.length;i++){ var row=ary[i]; var dd=row.split(/\t/); data.push(dd); } var jsonStr = JSON.stringify(data); $('#res').html(jsonStr); }サンプル
<link href="nouislider.min.css" rel="stylesheet"> <script src="jquery-1.11.1.min.js"></script> <script src="nouislider.min.js"></script>
<div id="slider" style="width:350px;"></div> <input id="test_v1" type="number" value="0" /> <input id="test_v2" type="number" value="0" />
インクルード
<script src="jquery.js"></script> <script src="livipage.js"></script>
例
<div style="width:100px;height:400px"> <a href="#sample1" class="livipage" >いろは歌</a><br><br> </div> <div id="sample1" > いろはにほへとちりぬるをわかよたれそつねならむ<br> うゐのおくやまけふこえてあさきゆめみしゑひもせす<br> </div>
URLエンコードの基本
var str = 'あ' var str2 = encodeURIComponent(str); console.log(str2); //あ → %E3%81%82
URLエンコードの種類
URLエンコードは下記の3種類存在する。違いはエンコードできる記号がそれぞれ異なっている。エンコード | デコード | エンコード対象外 | 注意 |
---|---|---|---|
encodeURI | decodeURI | ;/?:@&=+$-_!~*.,()a#' | |
encodeURIComponent | decodeURIComponent | -_!~*.()a' | |
escape | unescape | *+-_./ | 非推奨。ブラウザごとに挙動が異なるようである。 |
source code
function stringLeft(s,mark){ if (s==null || s==""){ return s; } var a=s.indexOf(mark); var s2=s.substring(0,a); return s2; }
使用例
var str = 'ネズミを捕る老いたネコが布団の上で寝ている'; var res = stringLeft(str,'ネコ'); console.log(res);// → res = 'ネズミを捕る老いた'
source code
function stringRight(s,mark){ if (s==null || s==""){ return s; } var a=s.indexOf(mark); var s2=s.substring(a+mark.length,s.length); return s2; }
使用例
var str = 'ネズミを捕る老いたネコが布団の上で寝ている'; var res = stringRight(str,'ネコ'); console.log(res);// → res = 'が布団の上で寝ている'