1、预装图象
function doPreload(){
var the_images = new Array('kwmatt.jpg','matbon.jpg','lunchMat.jpg');
preloadImages(the_images);
}
function preloadImages(the_images_array) {
for(loop = 0; loop < the_images_array.length; loop++){
var an_image = new Image();
an_image.src = the_images_array[loop];
}
}
doPreload()函数创建了需要预装的图象名的数组,并把数组作为参数传送到preloadImages()函数, preloadImages()函数包
含了一个循环,每次循环都创建一个新的图象对象,并把图象名设到它的src属性中。
2、创建一个Javascript对象
(1)、最常见的方法
比如,创建一个宠物
function Pet(the_pet_name, the_form_number){
this.age = 0;
this.hunger = Math.random() * 5; // random number between 0 and 4.99
this.health = Math.random() * 5 + 1 ; // random number between 1 and 3.99
this.happiness = Math.random() * 5;
this.pet_name = the_pet_name;
this.form_number = the_form_number;
window.document.forms[the_form_number].pet_name.value = the_pet_name;
}
这个构造函数有两个参数:宠物名字和要显示其信息的表单号。要创建两个宠物,我们这么
做:
var pet1 = new Pet("barney",0);
var pet2 = new Pet("betty",1);
(2).工厂方式
function createobject(){
var o=new Object();
o.a=1;
o.b="w";
o.c=function(){};
return o;
}
当然,你可以给这个函数传入参数进行定制,但是对函数的创建就重复了。
它还有个相近的版本,但是这个版本可以用new来创建
function createobject(){
this.a=1;
this.b="w";
this.c=function(){};
}
(3).使用对象的prototype属性,用一个空构造函数来设置对象名,然后所有的属性和方法都直接用prototype来赋予
function o(){};
o.prototype.a=1;
o.prototype.b=function(){};
此方法也是用new来创建新对象的。
(4).JSON方式来创建
var o={
a:1,
b:"aa"
c:function(){}
}
3、eval()函数,这个函数可以把一个字符串当作一个JavaScript表达式一样去执行它。
通过eval()函数,可以获取难以索引的对象,代码如下:
function simpleSwap(){
var the_image = prompt("change parrot or cheese","");
var the_image_name = "window.document." + the_image;
var the_image_object = eval(the_image_name);
the_image_object.src = "ant.gif";
}
4、四种手段来设置文本框的文本的简单例子:
如果在一个表单里有一个文本框,象这样:
<form name="the_form">
<input type="text" name="the_text_box">
</form>
JS代码如下所示:
我们可以用四种手段来设置文本框的文本,代码如下:
var the_form_name = "the_form";
var the_element_name = "the_text_box";
(1)、window.document.forms[0].elements[0].value = "hello!";
(2)、window.document.forms[the_form_name].elements[the_element_name].value = "hello!";
(3)、window.document.the_form.the_text_box.value = "hello!";
(4)、var the_element_string = "window.document." + the_form_name + "." + the_element_name;
var the_element = eval(the_element_string);
the_element_string.value = "hello!";
5、常看的JS错误:
引用
混淆变量名或函数名
偶然地使用了保留字
偶然给变量加上了引号,或忘了给字符串加引号...
6、优化JavaScript代码
引用
(1)、限制循环内的工作量
(2)、定制if-then-else语句,按最可能到最不可能的顺序
(3)、最小化重复执行的表达式
分享到:
相关推荐
JQuery学习笔录主要涉及的是JQuery的基本概念、优点、应用场景以及其与其他JavaScript库的区别。JQuery是一个轻量级的JavaScript库,能够简化HTML文档遍历、事件处理、动画和Ajax交互。由于它在编写跨浏览器程序时能...
为此,使用了干净数据批次之一的笔录。 该解决方案是使用Azure云实施的,尤其是Bot,Luis和QnA Maker Framework的认知服务。 该项目以4个Sprint实施:Sprint 1:AMA会话的QnA知识库Sprint 2:语言理解(LUIS)...
CMPT 470学习项目-2020年秋季 该笔录将包含本学期项目的所有代码。 克隆后设置项目 每当我们使用npm安装一个库时,该库的代码都会保存在一个名为node-modules的文件夹中。 该文件夹很大,几乎始终不包含在git repo中...
3 Android SqliteManager 源码.zip
内容概要:本文详细介绍了基于S7-200 PLC的煤矿排水系统智能控制方案,重点讨论了三台水泵(两台工作水泵和一台备用水泵)的联动与备援策略。系统通过超声波液位传感器实时监测水位,根据不同水位情况自动控制水泵的启停。具体而言,水位低时不启动水泵,水位介于中水位和高水位之间时启动1号水泵,水位超过高水位则启动1号和2号水泵共同工作。若1号或2号水泵出现故障,系统会自动启用3号备用水泵。此外,MCGS6.2组态画面用于实时监控水位和水泵状态,帮助操作员及时应对异常情况,确保矿井安全。 适合人群:从事煤矿自动化控制领域的技术人员、矿业工程管理人员及相关研究人员。 使用场景及目标:适用于需要提高煤矿排水系统自动化水平的场合,旨在提升矿井排水效率和安全性,减少人工干预,确保矿井生产安全。 其他说明:文中提到的技术方案不仅提高了排水系统的可靠性,还为未来的智能化矿山建设提供了有益借鉴。
scratch少儿编程逻辑思维游戏源码-灌篮之王.zip
scratch少儿编程逻辑思维游戏源码-飞翔马里奥(2).zip
scratch少儿编程逻辑思维游戏源码-火柴人大战 中世纪战争.zip
scratch少儿编程逻辑思维游戏源码-几何冲刺(2).zip
南京证券-低轨卫星互联网启动,天地一体通信迈向6G
nginx-1.20.1
sshpass-1.06-8.ky10.aarch
少儿编程scratch项目源代码文件案例素材-我的世界2D(更新北极).zip
通信行业专题研究:车载全息数字人——AI+Agent新场景,全息投影新方向-20231121-国盛证券-13页
内容概要:本文详细介绍了利用西门子S7-200 PLC和组态王软件构建的邮件分拣系统的具体设计方案和技术细节。首先,文中阐述了硬件部分的设计,包括光电传感器、传送带电机以及分拣机械臂的连接方式,特别是旋转编码器用于精确测量包裹位移的技术要点。接着,展示了PLC编程中的关键代码段,如初始化分拣计数器、读取编码器数据并进行位置跟踪等。然后,描述了组态王作为上位机软件的作用,它不仅提供了直观的人机交互界面,还允许通过简单的下拉菜单选择不同的分拣规则(按省份、按重量或加急件)。此外,针对可能出现的通信问题提出了有效的解决方案,比如采用心跳包机制确保稳定的数据传输,并解决了因电磁干扰导致的问题。最后,分享了一些现场调试的经验教训,例如为减少编码器安装误差对分拣精度的影响而引入的位移补偿算法。 适合人群:从事自动化控制领域的工程师或者对此感兴趣的初学者。 使用场景及目标:适用于需要提高邮件或其他物品自动分拣效率的企业或机构,旨在降低人工成本、提升工作效率和准确性。 其他说明:文中提到的实际案例表明,经过优化后的系统能够显著改善分拣性能,将分拣错误率大幅降至0.3%,并且日均处理量可达2万件包裹。
scratch少儿编程逻辑思维游戏源码-机械汽车.zip
内容概要:本文详细探讨了在连续介质中利用束缚态驱动设计并实现具有最大和可调谐手征光学响应的平面手征超表面的方法。文中首先介绍了comsol三次谐波和本征手性BIC(束缚态诱导的透明)两种重要光学现象,随后阐述了具体的手征超表面结构设计,包括远场偏振图、手性透射曲线、二维能带图、Q因子图和电场图的分析。最后,通过大子刊nc复现实验验证了设计方案的有效性,并对未来的研究方向进行了展望。 适合人群:从事光学研究的专业人士、高校物理系师生、对光与物质相互作用感兴趣的科研工作者。 使用场景及目标:适用于希望深入了解手征超表面设计原理及其光学响应机制的研究人员,旨在推动新型光学器件的研发和技术进步。 其他说明:本文不仅展示了理论分析和模拟计算,还通过实验证明了设计方法的可行性,为后续研究奠定了坚实的基础。
少儿编程scratch项目源代码文件案例素材-位图冒险.zip
少儿编程scratch项目源代码文件案例素材-校园困境2.zip
少儿编程scratch项目源代码文件案例素材-兔子吃萝卜.zip