$(()=>{
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 = 'が布団の上で寝ている'