所有由罗佳(博主)发布的文章

佳佳酱教你用代码写作业【1】

PS:本系列里写的代码都是最简写法,所以不给变量加var,也没有高级语法
PS:学习本教程最好选用一个较新潮的浏览器,仅管旧浏览器也可以运行,但是总觉得不太好。。【话说用旧的浏览器也没法正常浏览本博客吧】
PS:有任何地方看不懂都请留言帮助我改进
PS:想学会必须要动手实践,除非你有编程基础不然是没法看懂的,试试改改某个变量或值~
PS:有童鞋问我为什么代码输好了以后打开一点动静也没有,只有空白。那是因为本节讲的是赋值,这种操作是不会显示出来的,要看到结果请参考下一篇。
  
单词预习~

Read         伪代码里的输入
Print        伪代码里的输出
C            C语言[一种编程语言]
C++          C++语言[一种编程语言]
VB           书上伪代码的原型,VB语言[一种编程语言]
VBS          VB语言的脚本版本语言
javascript   本教程主要使用的语言,javascript脚本语言,本文里大多简称为js
html         这个一般人都知道了。。
script       翻译为"脚本",你可以理解为拍电视时的剧本

 
 
我这里数学书上教到了“算法”,这个东西在数学书上教的有点太误人的赶脚。书上教的是伪代码,比如这样:

Read a,b,c
a←1
b←a
c←b
Print a,b,c

书上说明了是VB的伪代码,但是这一点用也没有啊!!于是我心血来潮教同学们如何写真的代码来帮我们做循环数学题!

继续阅读佳佳酱教你用代码写作业【1】

单片机的乱入

心血来潮想搞搞单片机,于是就来搞了,这一周是网上定的货全部到货,下一周可能开始进行研究性学习.
这一次网购告诉我再也不要相信图片了,尤其是这个尺寸问题…这次网购也告诉我买东西要尽量在一个店里买。。不然这个邮费比东西还贵有木有吖!
从这篇博开始以后可能会乱入一些单片机学习笔记,现在给自己积压的事情已经越来越多了,还要上这个蛋疼的学(┬_┬)。

接下来就来一堆靓照结束这篇博文

继续阅读单片机的乱入

鼋头渚一日蛋疼游

这篇文章其实早就该写了,但是因为一直找不到相机的线又找不到可用的读卡器,照片一直都没法搞出来,没有照片就没法高端黑了对吧~~【矮吖透剧了】
那么接下来就会有一大堆照片配文字来介绍这次蛋蛋的出游啦\(^o^)/
[注意:照片高清很大,花流量的童鞋请不要进来]
继续阅读鼋头渚一日蛋疼游

PHP Global

本文内容最终以PHP: 变量范围 – Manual中的Global部分为准。

博主很粗心的研究了一下文档就来写这篇文章了,只是做个笔记,并且没有做测试,所有内容都是我猜的[不怕被我误导的话就看下去吧],有错误请指出,没什么问题的话也提醒我一下,我来给文章mark下可信。
首先说一下我总结出来的Global使用规则先。
1.在函数里使用在函数外定义的变量在变量前加上至少一次Global来访问。
2.要让函数里的变量可以被外部访问,就要在函数里定义的变量之前加上Global,然后可以在外部直接使用,如果在其它函数里使用的话,参考1。

接下来是正文,如果上面的规则没看懂的话,下面会给出一些例子来帮助理解。
继续阅读PHP Global

canvas函数图

【初始编辑】2013/4/21 14:55
【更新 2013/5/1 14:36 】
更新日志:加上坐标轴的箭头,加了两个函数(其实这个不算更新吧。。)。
优化了一下绘制方法:修改了清除画布的方法,极大提高效率。
自定义函数的功能还是没有修好。
代码中已经包含了一部分下次更新的功能:差不多是坐标轴的单位线

昨天我翻出来了以前一时兴起做的一个渣渣函数图绘制的代码,然后又一时兴起想把它改好一点,于是就出现了今天的这篇文章。
【我可是冒着期中考试前不复习的风险来做这个的】
【用chrome浏览效果更佳,其他浏览器可能会有卡顿现象】
现在已经做成了这个样子

源地址在这里佳佳实验室的地址在这里,代码在文章最下面,自带注释
继续阅读canvas函数图

大天朝教育

[手机文][没有任何文学素养文][可能会不断更新文][作死文]

博主的吐槽范围也有限,所以希望集合大家的力量一起吐槽。想一起吐槽的人可以通过评论的方式或者文章最下的直接加入文章的方式来吐槽

(博主自语)自从进了初中,就年年日日月月都蛋疼,最近高中阶段更蛋疼了,马上要接近高一期中考生更是疼上+疼,光从这周的作业量来说我就必须罢工。不是不爱学习,而是实在不忍心再把自己的生命浪费在学校里无止尽的SB生活上了。(这一段适用于每一次大考前)

生命诚可贵,青年价更高。

中国教育的缺陷越到高等级就体现地越明显,潜移默化地在无意义的竞争中强行慢慢改变了学生以前的理想。给学生也强行灌输了很多不必要的知识。

继续阅读大天朝教育

[javascript]toFixed保留小数位数

这是一个笔记,如果有什么建议或学习意见或错误可以留言提出来。
[爪机博]
[想直接看正文请往最底下看]

之前突发奇想要做个什么东西,需要截断小数点后指定位数的小数,当时还不知道有toFixed这个方法,于是乎我自己想了很多伤资源的方法,比如乘以10的几次方以后舍小数再除回去之类的。这是一段悲剧的思考过程,考虑了一堆事情,为了纪念浪费掉的这段时间[对我来说待在学校里比这还浪费时间],我决定特意为这个方法写一篇博文来mark一下。

似乎是正文:
toFixed是一个Number对象的方法,主要用来保留小数,然后它的用法是

var a=213.1234567898754;
a.toFixed(指定位数);

Ps:
小数最后一位采用四舍五入。
位数为0〜20的整数,参数错误会抛出异常。
如果参数大于le+21(这是啥?)的话,会返回指数形式的数[结果是string类型]。
如果小数本身位数不足指定位数,会用0补足。
默认参数是0,也就是不输入参数的话它的行为是保留整数。

正文似乎结束了。

server-sent 服务器主动发送事件

以前的HTML版本中,要获取实时数据,必须要不断向服务器发出请求来查询有没有新内容,这样不管从建立连接还是等待时间来说都是要多苦逼就有多苦逼啊(微观来说),[最近死在学校里实在没事做就去逛了逛w3,中文的w3school更新比英文版慢了不知多少啊]然后我发现了w3的html专版里多出了一个HTML5 服务器发送事件这东西。
看了一下他的介绍大概知道她是干什么用的了,简单地说就是用javascript建立一个长连接到一个网页脚本,然后脚本就可以按需向浏览器页面主动发送数据。

下面来解释一下工作方式

//这是我整合了w3里的示例代码,添加详细注释来助解
if (typeof(EventSource) !== "undefined") {//检查是否支持服务器推送
	var a = new EventSource("脚本.php");//建立和"脚本.php"的连接
	a.onmessage=function(event) {//接收到消息的事件
		/*这里的event.data存储了从服务器传回来的数据*/
        /*比如alert(event.data)来提示返回的数据*/
	};
    
    a.onopen=function(event){//打开连接时的事件
    /*用event.readyState可以获取此时的状态号*/
        /*建立好连接的时候干些什么*/
    };
    
    a.onerror=function(event){//发生错误时的事件
    /*用event.readyState可以获取此时的状态号*/
        /*发生错误的时候干些什么*/
    };
} else {//不支持推送的话
	alert("您老的浏览器不支持服务器推送");
    
    a.close();//用close()方法可以关闭连接
    a=null;//把a对象清空,让它的空间自动被回收
}

[javascript]设置函数默认参数

在javascript里是不可以用

function a(q=0){..}

这种方式定义参数的默认值的,但是默认值又是一个很有用的东东,它可以设置一些普遍使用的参数来减小使用时候的麻烦。
那么总会有办法解决这种奇葩的问题的。

接下来就是见证奇迹的时刻!

function a(b){
	var c=arguments[1]?arguments[1]:"c的默认值";
	alert(b);
	alert(c);
}

这个时候使用它

a(213,3);//先后跳出提示框:213和3
a(213);//先后跳出提示框:213和"c的默认值"

肿么会这样纸呢?细心的小朋友们应该可以发现这么一个[arguments[1]?arguments[1]:”c的默认值”],而且第一次调用a()的时候输入了两个参数。

原因就是:
首先,js不会因为输入的参数个数和定义时的个数不一样而报错
然后,函数中有一个叫做arguments的数组来保存输入函数的参数

这样就可以知道了,在arguments[1]?arguments[1]:”c的默认值”里,arguments[1]就是输入函数的第二个参数(数组的编号从0开始)(首先在这里假如你知道?:操作符的用法,不知道请先去百度回炉。。)

var c=          //c等于
arguments[1]?   //第二个参数存在吗?存在的话c等于第二个参数的值
arguments[1]:   //第二个参数不存在?
"c的默认值";     //不存在就设置为"c的默认值"

 

感谢@BlackGlory的提醒

function a(b){
b=b||"默认值";
}

 

这种方法更加简便

===========2021/11/27 更新============

现在的js已经可以用文章开头的方法定义默认参数了,只要调用函数时没有填该参数或者参数的值为undefined,都会使用定义的默认参数传入。

判断访问者是否是搜索引擎

有的时候我们需要针对搜索引擎抓取做一些特殊的回应、所以要用到判断是否为搜索引擎的方法,我在网上找了几种来做个笔记,就先不验证效果了。

第一种
来源:php判断是否搜索引擎 – php

function strexists($haystack, $needle) {
       return !(strpos($haystack, $needle) === FALSE);
} 
/*
*检验搜索
*/
function getrobot() {   
    if(!defined('IS_ROBOT')) {   
        $kw_spiders = 'Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla';   
        $kw_browsers = 'MSIE|Netscape|Opera|Konqueror|Mozilla';   
        if(!strexists($_SERVER['HTTP_USER_AGENT'], 'http://') && preg_match("/($kw_browsers)/i", $_SERVER['HTTP_USER_AGENT'])) {   
            define('IS_ROBOT', FALSE);   
        } elseif(preg_match("/($kw_spiders)/i", $_SERVER['HTTP_USER_AGENT'])) {   
            define('IS_ROBOT', TRUE);   
        } else {   
            define('IS_ROBOT', FALSE);   
        }   
    }   
    return IS_ROBOT;   
}

看代码这一种方法是判断来访者是不是某一种浏览器,如果是的话就判断为用户,不是的话就判断为蜘蛛。 继续阅读判断访问者是否是搜索引擎

主题更换记录:佳佳酱才是小黑呢【4】

又到了佳佳酱换主题的日子[其实只是突发奇想来换个主题。。]
本着每次换主题都要做个记录的精神,这次也来记录一下。

上一个主题:佳佳酱才是小黑呢【3】
本个主题:佳佳酱才是小黑呢【4】

旧主题view

新主题view

更新内容:
这次没做什么改进,只是换了个励志背景图,还合并了css里几个相同选择器的样式。

itisso.us

购买了域名itisso.us,既然挖了这个坑就一定要把它填起来(•̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩́ ˑ̫ •̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩)。
这次我记得买了是两年,以后再续费的说。
然后我先给它做个building页面告诉大家这里还在制做。
那么我就用有生之年来做它吧。(不知Glory君意下如何),大家也许会在有生之年看到这个作品。

PS:为什么买us呢?因为com和net被一个蛋疼的不知道干什么的还有多重页面跳转的网站占了[还特么是同一家!!!!にまあ!]

[更新:建设标识页已建成]

哔~~哔~~哔~~哔~~

这是一个无聊的产物[那是相当无聊才会来做这种东西啊~]
先隆重介绍一下,这是一个可以发出声音的程序![其实就是用Beep函数。。]
然后我给它取了个好长好长名字的名字,叫“音乐灵感的来源~”

然后就上代码了

#include "iostream.h"//带上输出功能
#include "windows.h"//用Beep函数
int main(){
	int pinlv;//定义频率变量
	for(int i=0;i<1000;i++){//循环999次 pinlv=rand();//得到随机数 while(pinlv>2000){//超出了预定范围的话[频率超过一定范围声音会刺耳听不清]
			pinlv=rand();//再来得一次随机数,一直到得到范围内的数为止
		}
		Beep(pinlv,200);//哔哔哔哔哔哔~
		cout<<i<<"  "<<pinlv<<endl;//输出次数和本次的频率为多少
	}
	return 0;//结束啦
}

这是多么可爱的一个程序啊。然后我就不说什么了。。

iframe元素操作

本文所有内容均未测试,只是看着参考写出来的笔记,不保证内容的准确性,如果发现了错误请指出谢谢。

在很久很久以前(其实是忘了时间。。。)我发现iframe内部的内容是可以在iframe外面操作的。

在这之前我曾经把Glory的blog做了iframe放在我的佳佳实验室里,然后他一脸黑线,现在我终于知道是为什么了~

接下来进入正文

访问iframe元素的关键就在于要知道连接到iframe的方法,看下面

[PS:不同方法在不同浏览器里可能不可用]

继续阅读iframe元素操作