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中...
scratch少儿编程逻辑思维游戏源码-米克 demo.zip
scratch少儿编程逻辑思维游戏源码-萝卜男孩拯救世界.zip
scratch少儿编程逻辑思维游戏源码-酷忍者.zip
教育科技_微信小程序_二手交易平台_大学校园二手书与物品循环利用公益系统_风华读书人校园二手交易平台_基于C2C模式的校内闲置物品交易系统_支持多校区独立运营的二手书交易平台_包含
全新UI彩虹外链网盘系统源码前后端美化模板整站 模版文件.zip
maoxig_nonebot-plugin-ai-timetable_32152_1745865455265
少儿编程scratch项目源代码文件案例素材-足球顶尖高手.zip
少儿编程scratch项目源代码文件案例素材-作战基地.zip
少儿编程scratch项目源代码文件案例素材-云端之上 1-4名玩家.zip
scratch少儿编程逻辑思维游戏源码-魔幻之塔.zip
scratch少儿编程逻辑思维游戏源码-楼层酷跑.zip
scratch少儿编程逻辑思维游戏源码-圈.zip
少儿编程scratch项目源代码文件案例素材-纸片马里奥自定义战役.zip
少儿编程scratch项目源代码文件案例素材-自由下落.zip
少儿编程scratch项目源代码文件案例素材-阻击蜈蚣.zip
健康监测与疾病预防_脉搏波分析_六轴加速度传感器_生理参数融合_STC12硬件采集_Android数据处理_SpringBoot后端_MySQL数据库_MatlabPython实验
音乐流媒体应用开发_基于JetpackCompose的跨平台开发_网易云音乐风格的多终端音乐播放器_包含手机平板电视手表四端适配的现代化音乐播放应用实现音乐发现播放列表管理个性化推