导航:首页 > 源码编译 > 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源码相关的资料

热点内容
安卓重力感应怎么关 浏览:718
我的世界ios怎么建服务器地址 浏览:757
服务器端口ip都是什么意思 浏览:260
华为主题软件app怎么下 浏览:837
我们的图片能够收藏加密吗 浏览:978
mysql空值命令 浏览:213
python整点秒杀 浏览:882
怎么样互传app 浏览:292
python分布式抓包 浏览:36
轻量级php论坛 浏览:342
如何查看应用存储在哪个文件夹 浏览:436
app开发项目范围怎么写 浏览:76
androidjms 浏览:843
弹珠连贯解压 浏览:243
程序员的网课 浏览:904
广东加密狗防拷贝公司 浏览:450
rtf转换pdf 浏览:350
单片机退出中断 浏览:142
可以对单个内容加密的便签 浏览:825
1024程序员节小米 浏览:316