導航:首頁 > 源碼編譯 > staticjs源碼

staticjs源碼

發布時間:2022-05-10 23:04:05

㈠ js代碼如何封裝

1. 定義js類
js並不是一種面向對向的語言, 沒有提供對類的支持, 因此我們不能像在傳統的語言里那樣 用class來定義類, 但我們可以利用js的閉包封裝機制來實現js類, 我們來封裝一個簡的Shape類.

代碼如下:

functionShapeBase(){
this.show=function(){
alert("ShapeBaseshow");
};
this.init=function(){
alert("ShapeBaseinit");
};
}


這個類里定義了兩個方法:show和init, 需要注意的是這里用到了this來聲明, 而不是var, 因為用var是用來定義私有方法的.
另外, 我們還可以用prototype屬性來定義Shape的方法.

代碼如下:

ShapeBase.prototype.show=function()
{
alert("ShapeBaseshow");
}
ShapeBase.prototype.init=function()
{
alert("ShapeBaseinit");
}


上面這種寫法看起來不太直觀,我們可以將所有的方法寫在一起.

代碼如下:

ShapeBase.prototype={
show:function(){
alert("ShapeBaseshow");
},
init:function(){
alert("ShapeBaseinit");
}
};


現在, 類是寫好了, 讓我們寫個js來測試下, 看看結果是不是跟我們想像的一樣呢?

代碼如下:

functiontest(src){
vars=newShapeBase();
s.init();
s.show();
}


看到了吧, 其調用方式和C#一模一樣, 而結果也如我們所料.
到目前為止, 我們學會了如何創建js的類了, 但還只是實例方法,要是實現跟C#中的靜態方法要怎麼做呢?
其實, 實現js的靜態方法很簡單, 看下面如何實現:

代碼如下:

//靜態方法
ShapeBase.StaticDraw=function()
{
alert("methoddrawisstatic");
}


2. 實現JS類抽象和繼承
同樣, js中也不支持類繼承機制,但我們可以通過將父類prototype中的成員方法復制到子類的prototype中來實現.
和類的繼承一樣,javaScript也沒有任何機制用於支持抽象類.但利用JavaScript語言本身的性質.可以實現自己的抽象類.
首先來看看js中的虛方法, 在傳統語言中虛方法是要先定義的, 而包含虛方法的類就是抽象類,不能被實例化,而在JavaScript中,虛方法就可以看作該類中沒有定義的方法,但已經通過this指針使用了.
和傳統面向對象不同的是,這里虛方法不需經過聲明,而直接使用了, 並且類也可以被實例化.
先定義object的extend方法, 一個為靜態方法,一個為實例方法, 這兩個方法用於實現繼承的prototype復制

代碼如下:

Object.extend=function(destination,source){
for(propertyinsource){
destination[property]=source[property];
}
returndestination;
}
Object.prototype.extend=function(object){
returnObject.extend.apply(this,[this,object]);
}


接下來我們實現一個繼承類Rect, 這里先用一種簡單的方法來實現。

代碼如下:

functionRect(){}
Rect.prototype=ShapeBase.prototype;//只這一句就行了
//擴充新的方法
Rect.prototype.add=function(){
alert("Rectadd");
}


這種方法不能用於重寫,如果改變了show方法, ShapeBase的show也會指向同一函數可能是由於prototype賦值只是簡單的改變指向地址.
如果上面也定義了:

Rect.prototype.show=function(){
alert("Rectshow");
}


那麼執行結果如下:

functiontest(){
vars=newShapeBase();
s.show();//結果:Rectshow
varr=newRect();
r.show();//結果:Rectshow
r.add();
}


我們再使用object.extend實現繼承, 並實現一個oninit虛方法, 修改ShapeBase如下:

代碼如下:

ShapeBase.prototype={
show:function()
{
alert("ShapeBaseshow");
},
initialize:function(){
this.oninit();
}
};


實現Rect類繼承.

代碼如下:

Rect.prototype=(newShapeBase).extend({
//添加新的方法
add:function(){
alert("Rectadd");
},
//使用這種方法可以重寫show方法
show:function(){
alert("Rectshow");
},
//實現虛方法
oninit:function(){
alert("Rectoninit");
}
})

㈡ js代碼 自定義

double volume()
{
return (pi* radius* radius)*height;
}
}
public class app6_2 //定義公共類
{
public static void main(String[] args)
{
Cylinder volu1,volu2; //聲明指向對象的變數volu1和volu2
volu1=new Cylinder(); //創建對象圓柱1:volu1
volu2=new Cylinder(); //創建對象圓柱2:volu2

㈢ 求js代碼,和百度分享類似。

給你個思路吧!你也可以在做的過程中自己學習一下。

1、CSS定位你需要顯示的圖片,具體請查詢 position,瀏覽器默認 static,當然不是你要的
2、對圖片綁定一個 onmouserover 的事件,控制你要彈出的窗口顯示
3、如果步驟2不使用 javascript,也可以對步驟1中的圖片使用 css 的 hover 來控制。

兩種方法,一種css+js,一種純css

㈣ 使用thinkphp寫代碼,public/static/js/1.js內怎樣引用public/static/img/bs/2.jpg圖片文件 以下代碼不行

TP5引入靜態文件方法大致如下:

  1. 直接寫/static/img/demo.jpg,解釋:TP5的根目錄解析到public目錄下,所以直接寫/static/會直接讀取到/public/static下

  2. 將TP3中的__ROOT___或者__STATIC__寫入到配置文件當中,__ROOT___在TP中實際為模板的替換規則,那麼在TP5中將這些默認規則取消了,需要自主配置才可生效,配置如下:

///視圖輸出字元串內容替換
'view_replace_str'=>[//默認這里是沒有字元的
'__PUBLIC__'=>'/public/',
'__ROOT__'=>'/',
]

㈤ 如何通過java,javascript獲得某一指定URL的網頁源碼

javascript獲取網頁源碼,測試了能通過的,你試下!
你把& l t ; & g t;的空格刪了,因為網路不允許那些字元。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>test</title>
</head>
<body>

關於網路頁面http://ir..com/phoenix.zhtml?c=188488&p=irol-homeprofile源碼內容如下:<br />
<div id="t1"></div>
<script type="text/javascript">
function createXmlHttpRequest()
{
try {return new XMLHttpRequest();}
catch(e)
{
return new ActiveXObject("Microsoft.XMLHTTP");}
}

var xmlHttp = createXmlHttpRequest();
xmlHttp.open("get", "http://ir..com/phoenix.zhtml?c=188488&p=irol-homeprofile",false);
xmlHttp.send();
if(xmlHttp.readyState == 4 && xmlHttp.status == 200)
{
str = xmlHttp.responseText;//str即為返回的html內容
var str1 = new RegExp(">","g");
var str2 = new RegExp("<","g");
var str3 = new RegExp("\r","g");
str=str.replace(str2,"& l t ;"); //把空格刪了,網路會把那些字元替換掉,不得已打空格
str=str.replace(str1,"& g t ;"); //把空格刪了,網路會把那些字元替換掉,不得已打空格
str=str.replace(str3,"<br />");
document.getElementById("t1").innerHTML = str;
}
</script>
</body>
</html>

㈥ 何為三種語言能力

三種語言能力分別為:資源定位、內容嵌入、依賴聲明。

什麼是資源定位?

項目發布後,一個用戶訪問頁面各種資源的地址;如何將開發中資源路徑定位到線上環境中資源路徑?

一個頁面有HTML文件,CSS文件,JS文件,分別了解下各個文件是做到資源如何定位的:
HTML文件代碼:
<!–源碼:
<img title=「網路logo」 src="/imgr?src=http%3A%2F%2Fwww.rainweb.cn%2Farticle%2F%26%238220%3Bimages%2Flogo.gif%26%238221%3B%2F%26gt%3B%C2%A0%C2%A0%0A%E7%BC%96%E8%AF%91%E5%90%8E%26%238211%3B%26gt%3B%C2%A0%C2%A0%0A%26lt%3Bimg%C2%A0title%3D%26%238220%3B%E7%99%BE%E5%BA%A6logo%26%238221%3B%C2%A0src%3D%26%238220%3B%2Fstatic%2Fpic%2Flogo_74e5229.gif%26%238221%3B%2F%26gt%3B%C2%A0%C2%A0%0A%C2%A0%C2%A0%0A%26lt%3B%21%26%238211%3B%E6%BA%90%E7%A0%81%EF%BC%9A%C2%A0%C2%A0%0A%26lt%3Blink%C2%A0rel%3D%26%238220%3Bstylesheet%26%238221%3B%C2%A0type%3D%26%238220%3Btext%2Fcss%26%238221%3B%C2%A0href%3D%26%238220%3Bdemo.css%26%238221%3B%26gt%3B%C2%A0%C2%A0%0A%E7%BC%96%E8%AF%91%E5%90%8E%26%238211%3B%26gt%3B%C2%A0%C2%A0%0A%26lt%3Blink%C2%A0rel%3D%26%238220%3Bstylesheet%26%238221%3B%C2%A0type%3D%26%238220%3Btext%2Fcss%26%238221%3B%C2%A0href%3D%26%238220%3B%2Fstatic%2Fcss%2Fdemo_7defa41.css%26%238221%3B%26gt%3B%C2%A0%C2%A0%0A%C2%A0%C2%A0%0A%26lt%3B%21%26%238211%3B%E6%BA%90%E7%A0%81%EF%BC%9A%C2%A0%C2%A0%0A%26lt%3Bscript%C2%A0type%3D%26%238220%3Btext%2Fjavascript%26%238221%3B%C2%A0src%3D%26%238220%3Bdemo.js%26%238221%3B%26gt%3B%26lt%3B%2Fscript%26gt%3B%C2%A0%C2%A0%0A%E7%BC%96%E8%AF%91%E5%90%8E%26%238211%3B%26gt%3B%C2%A0%C2%A0%0A%26lt%3Bscript%C2%A0type%3D%26%238220%3Btext%2Fjavascript%26%238221%3B%C2%A0src%3D%26%238220%3B%2Fstatic%2Fjs%2Fdemo_33c5143.js%26%238221%3B%26gt%3B%26lt%3B%2Fscript%26gt%3B%C2%A0%C2%A0%0A%3C%2Fpre">

它是如何做到的,上篇文章中解釋了,運行fis release 會查找當前目錄下的fis-conf.js這個文件,根據不同的配置,就可以發布定位到線上的地址了。

fis.config.merge({
roadmap : {
path : [
{
//所有的js文件
reg : 『**.js』,
//發布到/static/js/xxx目錄下
release : 『/static/js$&』
},
{
//所有的css文件
reg : 『**.css』,
//發布到/static/css/xxx目錄下
release : 『/static/css$&』
},
{
//所有image目錄下的.png,.gif文件
reg : /^/images/(.*.(?:png|gif))/i,
//發布到/static/pic/xxx目錄下
release : 『/static/pic/$1′
}
]
}
});

同理CSS文件,JS文件也會引用到相應的靜態資源:
/*源碼:
@import url(『demo.css』);
編譯後*/
@import url(『/demo_7defa41.css』);

.style {
/*源碼:
background: url(『images/body-bg.png』);
編譯後*/
background: url(『/images/body-bg_1b8c3e0.png』);

/*源碼:
_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="/imgr?src=http%3A%2F%2Fwww.rainweb.cn%2Farticle%2F%26%238217%3Bimages%2Fbody-bg.png%26%238217%3B%29%3B%C2%A0%0A%C2%A0%C2%A0%C2%A0%C2%A0%E7%BC%96%E8%AF%91%E5%90%8E%2A%2F%C2%A0%C2%A0%0A%C2%A0%C2%A0%C2%A0%C2%A0_filter%3Aprogid%3ADXImageTransform.Microsoft.AlphaImageLoader%28src%3D%26%238216%3B%2Fimages%2Fbody-bg_1b8c3e0.png%26%238217%3B%29%3B%C2%A0%C2%A0%0A%7D%C2%A0%C2%A0%0A%3C%2Fpre">

/*源碼:
var img = __uri(『images/logo.gif』);
編譯後*/
var img = 『/images/logo_74e5229.gif』;

/*源碼:
var css = __uri(『demo.css』);
編譯後*/
var css = 『/demo_7defa41.css』;

/*源碼:
var js = __uri(『demo.js』);
編譯後*/
var js = 『/demo_33c5143.js』;

通過對應的配置信息,就可以得到編譯後的地址了;

什麼是嵌入資源?
編譯中文本文件的內容或者二進制文件(如圖片)的base64編碼嵌入到另一個文件中;
拿官網的firstblood做解釋:編譯前,index.html中通過src引進了js,css,image

什麼是聲明依賴?
可以回想一下Node.js的插件機制,每個插件安裝好,插件目錄下會有一個node_moles文件夾,這個文件夾裡面的內容就是這個插件所依賴的包。所以這變的聲明依賴關系和Node.js的模塊依賴有點類似。
這種依賴原型在源文件用@require xx,最後這種關系在編譯後形成,編譯後會有一個map.json,查看下文件源碼:
{
「res」 : {
「demo.css」 : {
「uri」 : 「/static/css/demo_7defa41.css」,
「type」 : 「css」
},
「demo.js」 : {
「uri」 : 「/static/js/demo_33c5143.js」,
「type」 : 「js」,
「deps」 : [ 「demo.css」 ]
},
「index.html」 : {
「uri」 : 「/index.html」,
「type」 : 「html」,
「deps」 : [ 「demo.js」, 「demo.css」 ]
}
},
「pkg」 : {}
}

deps這個屬性就顯示了各個文件對應依賴的外部文件;當然前提是你在index.html中加了
<!–
@require demo.js
@require 「demo.css」
–>
理清了這「三種語言能力「,對FIS的理解又深了一層。。。
何為三種語言能力—FIS,首發於rainweb前端開發。

㈦ 各大網站的分享JS代碼

<!-- Bai Button BEGIN -->
<script type="text/javascript" id="bdshare_js" data="type=slide&img=7&uid=354335" ></script>
<script type="text/javascript" id="bdshell_js"></script>
<script type="text/javascript">
document.getElementById("bdshell_js").src = "http://bdimg.share..com/static/js/shell_v2.js?cdnversion=" + new Date().getHours();
</script>
<!-- Bai Button END -->

㈧ 如何將js 輸出到html源碼中

HTML中調用JS代碼。

js代碼註解:javascript代碼,可直接在客戶端解釋執行,html中調用js代碼的方法有兩種:一、將javascript寫在html文件中,在html中調用js函數等;二、js代碼寫一個文件中,在html中引用該文件,使用js文件中定義的js函數。

調用方法:

1、打開Dreamweaver軟體,在創建新項目下選擇HTML;

2、點擊「文件」——「另存為」——文件命名為test——保存在電腦桌面;

3、編寫html文件,html文件包含用戶名及密碼輸入文本框,確定和取消按鈕;

4、在title標簽下插入<script language="JavaScript">js代碼</script>,在html中調用js函數;

5、js代碼編寫及html調用js代碼完成保存tset.html文件,在瀏覽器中打開test.html文件,檢查js代碼執行效果;

6、在Dreamweaver軟體中新建check.js文件(方法同html文件新建),check文件中輸入校驗函數;

7、test.html的title標簽下引用check.js文件;

8、在程序中引用check.js文件中js函數,在瀏覽器中刷新test.hmtl文件,然在username的輸入框中輸入非法字元來檢驗js代碼。

㈨ 靜態屬性怎麼繼承 js

今天沒事的時候,研究了一下JS繼承的實現,下面是html的源碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JS類的繼承的實現</title>
<script type="text/JavaScript">
//定義父類及公有、私有、靜態屬性及方法
function parent(){
var pname = "private";//私有屬性
var pfun = function(){//私有方法
console.log("調用類的私有方法");
}
this.getName=function(name){//公有方法
this.name = name;//公有屬性
return pname+"私有屬性+公有屬性"+this.name+"調用類的共有方法";
}
}
//定義靜態屬性及方法
parent.staticPro = "static property";
parent.staticFun = function(){
var str = "invoke class's static function";
return str;
}
//方法1 原型鏈繼承
function childOne(){};
childOne.prototype = new parent();

//方法2 call/apply繼承
function childTwo(){
parent.call(this);
}

function init(){
var c1 = new childOne();
console.log(c1.getName("child1"));//
console.log(c1.name);
var c2 = new childTwo();
console.log(c2.getName("child2"));
console.log(c2.name);
console.log(parent.staticPro);
console.log(parent.staticFun());
}
</script>
</head>
<body onload="init();">
<header>頁眉</header>
</body>
</html>

㈩ js 如何在網頁載入之前替換掉源碼內的指定鏈接

原理:1.想js最先載入就把這段話放在header style標簽之前。

2.遍歷所有超鏈接

3.批量替換


varregexp="https?://[a-zA-Z0-9_-.]+.?b(ai|dimg|dstatic).com";
varreplacement="http://localhost";
//jquery版
$("a").each(function(index){
varu=$(this).attr("href");
$(this).attr("href",u.replace(regexp,replacement));
});
//原生js
for(vari=0;i<document.links.length;i++){
varu=document.links[i].href;
document.links[i].href=u.replace(regexp,replacement);
}

要用jQuery記得載入jQuery庫。

閱讀全文

與staticjs源碼相關的資料

熱點內容
我們的圖片能夠收藏加密嗎 瀏覽:976
mysql空值命令 瀏覽:211
python整點秒殺 瀏覽:882
怎麼樣互傳app 瀏覽:290
python分布式抓包 瀏覽:34
輕量級php論壇 瀏覽:340
如何查看應用存儲在哪個文件夾 瀏覽:434
app開發項目范圍怎麼寫 瀏覽:74
androidjms 瀏覽:841
彈珠連貫解壓 瀏覽:241
程序員的網課 瀏覽:902
廣東加密狗防拷貝公司 瀏覽:448
rtf轉換pdf 瀏覽:348
單片機退出中斷 瀏覽:139
可以對單個內容加密的便簽 瀏覽:825
1024程序員節小米 瀏覽:316
共享和ftp伺服器有什麼區別 瀏覽:715
centos7卸載php 瀏覽:184
解壓黏黏球如何玩 瀏覽:230
位域結構體編譯樹形描述 瀏覽:655