前端第二周,Javascript--对象Obiect

本文聚焦于JavaScript中对象的操作与遍历。介绍了对象是无序数据集合,以键值对形式存储任意类型数据,讲解了创建对象的构造函数和字面量方式,还阐述了通过key对对象进行查、改、增、删操作,以及使用for...in循环遍历对象的方法。

对象 (Obiect):

               对象是一个 无序的 数据集合

               对象中是可以存储任意类型得数据

               对象中得数据是以  key(键、属性)和 value(值,属性值)得形式存在

              书写格式:{key:value,key:vlue}

//创建对象

        //1.构造函数方式

        var nobj1 = new Object();

        console.log(nobj1);//{}

        var nobj2 = new Object({ a: 111, b: 222, c: 333 });

        console.log(nobj2);//{a: 111, b: 222, c: 333}

        //2.字面量得方式

        var obj1 = {};

        console.log(obj1);//{}

        var obj2 = {

            name: '张乐乐',

            sex: '男',

            age: 22,

            hooby: ['丽丽', '亚亚', '杰杰'],

            sayhi: function () {

                console.log('乐乐是一个185大帅哥');

            }

        };

        console.log(obj2);

        //对象得数据类型:

        console.log(typeof nobj2);// 'ojbect'

        console.log(typeof obj2);// 'ojbect'

 

  // 引用数据类型(对象数据类型、复杂数据类型)
        // Function
        // Array
        // Object
 //操作对象得成员,通过 key
        //语法:对象.key
        //可以实现对 对象的 查 改 增 删

        //查-- 查看访问

        console.log(obj2.name);//乐乐

        console.log(obj2.age);//22

        console.log(obj2.hooby);//['丽丽', '亚亚', '杰杰']

        console.log(obj2.sayhi);//ƒ () {console.log('乐乐是一个185大帅哥');}

        obj2.sayhi();//乐乐是一个185大帅哥

        //如果访问对象没有的key,得到的结果就是undefined

        console.log(obj2.abc);//undefined

        //改 --改变--对已有的key赋值就是改变

        obj2.name = '乐乐'

        obj2.age = '外星人'

        console.log(obj2);//{name: '乐乐', sex: '男', age: '外星人', hooby: Array(3), sayhi: ƒ}

        // 增--增加 --- 对没有的key赋值就是增加

        obj2.x = 'lalala';

        console.log(obj2);

        // 删--删除

        delete obj2.age;

        console.log(obj2);

 

        //对象的变量----for...in循环

        //for..in循环 是js专门定义用来 遍历 数组/对象 的一种循环体

  for (var item in obj2) {

            //console.log(item);//遍历对象是(变量对象的) key

            console.log(obj2[item]);//遍历对象是(变量对象的key的)value

        }

 //注意:

        //如果对象的key存在了变量,操作对象是使用的是变量

        //则不能使用 点 的语法,而需要使用中括号语法

        var ooo = {

            abc: 111,

            nnn: 345,

            xyz: 987

        }

        console.log(ooo);

        console.log(ooo.abc);//111

        var u = 'abc';

        console.log(ooo.u);//undefined

        console.log(ooo[u]);//111  为啥等于111??? u和abc换了 所以abc=u=111

        var y = 'hello';

        ooo[y] = y;

        console.log(ooo);//{abc: 111, nnn: 345, xyz: 987, hello: 'hello'}

 

### FFCA-YOLO在遥感图像中小目标检测的实现与性能 #### 实现细节 FFCA-YOLO是一种专门用于提高小型目标检测精度的设计,特别适用于遥感应用场景。该模型引入了三种轻量级即插即用模块来提升其表现力: - **特征增强模块(FEM)**:通过强化局部区域内的特征表示,使得网络能够更好地捕捉到微小的目标对象[^4]。 - **特征融合模块(FFM)**:实现了不同尺度下的特征图之间的有效组合,增强了多尺度信息的学习效果,有助于识别大小各异的小型物体。 - **空间上下文感知模块(SCAM)**:加强了跨通道和空间维度上的全局联系,改善了对于复杂背景下弱信号目标的区分度,减少了误报率并提升了定位准确性。 这些改进措施共同作用下,不仅显著提高了对小型目标的检出效率,而且保持了较低计算成本,在实际部署中有助于实现实时处理需求[^1]。 #### 性能评估 实验结果显示,相较于其他基准模型及当前最优方法(SOTA),FFCA-YOLO展示了卓越的表现,特别是在面对高分辨率航空影像中的细小结构如车辆、船只等类别时表现出色。此外,为了满足空中平台资源受限条件的要求,还开发了一个更为紧凑版本——L-FFCA-YOLO,它同样保留了良好的泛化能力和较高的执行速度,显示出广阔的应用前景。 ```python import torch from models import FFCAYOLO # 假设这是定义好的FFCA-YOLO类 device = 'cuda' if torch.cuda.is_available() else 'cpu' model = FFCAYOLO().to(device) def detect_small_objects(image_path): image_tensor = preprocess_image(image_path).to(device) with torch.no_grad(): predictions = model(image_tensor) postprocessed_results = postprocess_predictions(predictions) return visualize_detections(postprocessed_results, image_path) if __name__ == "__main__": test_image = "path/to/test/image.jpg" result = detect_small_objects(test_image) ``` 此代码片段展示了一个简单的推理流程,其中`preprocess_image`, `postprocess_predictions` 和 `visualize_detections` 函数负责预处理输入图片、后处理预测结果以及可视化最终输出。具体实现可以根据实际情况调整优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值