源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 472|回复: 42

[JavaScript] “增强js程序代码的健壮性”之我见大量示例代码

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2007-5-13 00:00:00 | 显示全部楼层 |阅读模式
在书写和使用js程序的过程中,我们经常会遇到各种各样的错误,对于一个依赖于浏览器的语言,我们很难完全去控制其在任何时刻都正确无误的运行。但是我们仍需做出自己努力取增强我们书写的js程序代码的健壮性和安全性,尽可能减少错误的出现概率。
以下为本人在学习js过程总结的几点关于增强js程序的健壮性的心得,如果您觉得对你有一点的价值,那我就达到自己的目的了,如果你觉得没有什么意义,请您也不必扔砖头,谢谢。
(1)对于必要的参数要判断是否被正确的传入。
代码示例:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
(2)根据传入的参数类型不同做不同处理:
例如当我们要获取一个html元素对象时,要判断传入的是一个id还是一个元素对象。
代码示例:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
(3)为参数设定默认值。

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
(4)检查传入的参数类型。
例如:
我们要求传入的某个参数必须为数字。
示例代码:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
再比如可能我们需要通过参数设定一个宽度或高度值:
示例代码:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
(5)在JS的oo编程中,如果程序要获取当前实例名,则必须对传入实例名做判断。
示例代码:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
(6)在解析xml数据之前首先要检查传入xml数据类型(Dom?xml字符串?文件名)及其结构的合法性。
示例代码:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
(7)善用try...catch语句,很多时候的错误我们无法屏蔽,使用try...catch可以很容易的将这些错误过滤掉。
比如当我们在使用userData时,很多浏览器不支持,使用try...catch可以简化我们的处理。

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
欢迎大家多评论,提出更好更多的建议。
arg==undefined 改成 arg === undefined 可能会好些
var arg1=arg1||"default arg1";
这样写略有点问题
arg1是null 0 "" false都不行

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
三个等号表示类型也相等。JS在比较时不会自动转换类型。
回复

使用道具 举报

0

主题

2万

回帖

186

积分

注册会员

Rank: 2

积分
186
发表于 2023-3-13 08:33:29 | 显示全部楼层
强烈支持楼主ing……
回复 支持 反对

使用道具 举报

12

主题

2万

回帖

431

积分

中级会员

Rank: 3Rank: 3

积分
431
发表于 2023-6-24 02:08:17 | 显示全部楼层
8888888888888888
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

262

积分

中级会员

Rank: 3Rank: 3

积分
262
发表于 2023-6-28 09:55:25 | 显示全部楼层
呵呵呵呵呵呵
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

303

积分

中级会员

Rank: 3Rank: 3

积分
303
发表于 2023-9-15 13:24:13 | 显示全部楼层
逛逛看看瞧瞧
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

316

积分

中级会员

Rank: 3Rank: 3

积分
316
发表于 2024-6-27 12:43:59 | 显示全部楼层
hi哦回复iOS就看见
回复 支持 反对

使用道具 举报

匿名  发表于 2024-6-27 12:56:16

Куплю Кордицепс Оптом


мухоморы https://amanita-love.ru/politika-konfedentsialnosti-i-publichnaya-oferta/

Обработка заказов: Пн-Пт (09:00-20:00), Сб, Вс (10:00-18:00) https://amanita-love.ru/product/ekstrakt-korditseps-militaris-120-kapsul/

Выбрать нужные лечебные и лекарственные растения можно в нашем каталоге https://amanita-love.ru/product/plody-molotye-yezhovika-gryebyenchatogo-50-gramm/
  Там же в один клик вы можете сделать заказ https://amanita-love.ru/politika-konfedentsialnosti-i-publichnaya-oferta/
  Добавьте в корзину нужные вам продукты: грибы, ягоды, травы https://amanita-love.ru/product/trutovik-okaymlennyy-50-gramm/
  Система автоматически рассчитает стоимость вашего заказа https://amanita-love.ru/product/berezovaya-chaga-tonkogo-pomola-100-gramm/
  При оформлении заявки обязательно укажите:
Александр Политковский Другие отзывы https://amanita-love.ru/product/berezovaya-chaga-srednego-pomola-50-gramm/

Наше время:
Артикул: Грибы Грузди Белые соленые 250 гр https://amanita-love.ru/category/yezhovik-grebenchatyy-mitseliy/

回复 支持 反对

使用道具

匿名  发表于 2024-6-27 12:58:02

Веселка Гриб Купить Оптом


№ 4 (орешки кедровые очищенные сибирские, черника сушеная) 100 гр https://amanita-love.ru/product/troychatka-protivoparazitarnaya-s-krasnym-mukhomorom-molotaya-50-gramm/

Заготовка и оптовая продажа лесных грибов, ягод в Москве и по всей россии https://amanita-love.ru/category/yezhovik-grebenchatyy/

Белые грибы https://amanita-love.ru/product/plody-yezhovika-grebenchatogo-v-kapsulakh-120-kapsul/

20 отзывов https://amanita-love.ru/blog/chaga-ot-onkologii/

Артикул: Малина сушеная 100 гр https://amanita-love.ru/product/troychatka-protivoparazitarnaya-s-krasnym-mukhomorom-v-kapsulakh-60-kapsul/

Natiors https://amanita-love.ru/product/mikrodozing-krasnogo-mukhomora-i-ezhovika-grebenchatogo-v-kapsulakh-po-0-5-gramm-60-kapsul/

回复 支持 反对

使用道具

匿名  发表于 2024-6-27 12:58:37

Грибы Рейши Оптом

Выбрать нужные лечебные и лекарственные растения можно в нашем каталоге https://amanita-love.ru/product/troychatka-protivoparazitarnaya-s-krasnym-mukhomorom-molotaya-100-gramm/
  Там же в один клик вы можете сделать заказ https://amanita-love.ru/product/molotyy-mukhomor-pantyernyy-200-gramm/
  Добавьте в корзину нужные вам продукты: грибы, ягоды, травы https://amanita-love.ru/blog/nastoy-iz-chagi-retsept-prigotovleniya/
  Система автоматически рассчитает стоимость вашего заказа https://amanita-love.ru/category/trutovik/
  При оформлении заявки обязательно укажите:
Микродозинг мухоморами и другими грибами с доставкой по России!
Микродозинг мухоморами и другими грибами с доставкой по России!
Цена: 350 https://amanita-love.ru/otzyvy/
00 руб https://amanita-love.ru/product/mukhomornyy-mikrodozing-krasnyy-120-kapsul/
  за (шт https://amanita-love.ru/blog/rak-zheludka/
)
Рецепты блюд из лесных грибов https://amanita-love.ru/product/mukhomornyy-mikrodozing-pantyernyy-120-kapsul/

Магазины  Ягоды и грибы  
回复 支持 反对

使用道具

匿名  发表于 2024-6-27 12:59:56

Купим Оптом Грибы


Обработка заказов: Пн-Пт (09:00-20:00), Сб, Вс (10:00-18:00) https://amanita-love.ru/product/grib-korditsyeps-militaris-plody-tselye-100-gramm/

Ежовики https://amanita-love.ru/product/plody-tselye-dikorastushchego-yezhovika-grebenchatogo-50-gramm/

№ 6 (орешки кедровые очищенные дальневосточные, клюква сушеная) 100 гр https://amanita-love.ru/product/ekstrakt-cordyceps-militaris-50-beta-glyukany-60-kapsul/

Наши производственные площадки в Западной Сибири и Калужской области расположены в непосредственной близости к основным регионам произрастания дикоросов, что позволяет контролировать качество сырья и его переработку с самого начала https://amanita-love.ru/blog/nastoy-iz-chagi-retsept-prigotovleniya/

+7 (495) 147-90-96 +7 (800) 505-75-97 Заказать звонок info@greelife https://amanita-love.ru/kontakty/
ru Ежедневно 10:00–20:00 https://amanita-love.ru/product/sushenye-shlyapki-mukhomor-krasnyy-100/

Интернет-магазин сушеных лечебных грибов и ягод https://amanita-love.ru/product/sushenye-shlyapki-mukhomor-krasnyy-100/

回复 支持 反对

使用道具

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2025-1-20 18:29 , Processed in 0.163258 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表