将对象的所有属性名放到一个数组中 || 获得对象的所有属性名 || return;不具有原子性 || 怎样自己制作异常|| 判断对象有没有某个属性 || 当传递的参数比需要的参数少的时候,没有的值会被赋予undefined || 获得函数实际传递的参数 || 怎么用函数处理一个对象 || 用一个名字空间定义一个模块所有的函数 || 给一个对象添加方法
获得对象的所有属性名 || 将对象o的所有属性名放到数组中
var o = {x:1,y:2,z:3};
var arr = [];
var i = 0;
for(arr[i++] in o){};//是空的循环体
console.log(arr); ["x", "y", "z"]
在js中遇到return;可以看到运行到return;函数到这就停止了,循环也停止了,只是return;后面的不执行了,在这之前打印的还在,也就是说函数和循环中的return;没有原子性的,不会回滚像没打印一样。
function a(x){
for(var i = ;i<x;i++){
console.log(i+':'+i);
if(i == ){return;}
console.log('after return');
}
}; a();
:
after return
:
after return
:
after return
:
after return
:
after return
:
怎样自定义异常 || 怎样抛出自己的异常 || 怎样自己制作异常
function fa(x){
if(x<){throw new Error(x+'小于0');}//抛出异常时,后面的代码就不再执行了
console.log(x);
} fa(-); Uncaught Error: -1小于0(…)
关于try catch只要执行了try里代码的一部分,无论try代码块执行了多少,finally从句都会被执行
判断对象有没有某个属性
if(o.x !== undefined){ 这是o有x属性的情况 }else{ 这是o没有x属性的情况 }
函数的传递的参数多于需要的参数时,多余的会被忽略;当传递的参数比需要的参数少的时候,没有的参数会被赋予undefined值。
arguments是函数实际传递的数组
function f(x,y,z){ if(arguments.length != ){
throw new Error('f的参数不等于3');
}
for(var i = ;i<arguments.length;i++){
console.log(arguments[i]);
} } f('a','b');
Uncaught Error: f的参数不等于3(…)
function f(x,y,z){ if(arguments.length != 3){
throw new Error('f的参数不等于3');
}
for(var i = 0;i<arguments.length;i++){
console.log(arguments[i]);
}
} f('a','b','c'); a b c
用函数处理一个对象
var o = {"x":"","y":""};
function f(){
for(var i in this){
console.log(i);//i为属性名
if(i == "x"){this[i]+=}//this[i]可以获得属性值
console.log(this[i]); } } f.call(o); x y
用一个名字空间定义一个模块所有的函数,就是方法
var Class = {};
Class.methodA = function(pa){console.log(pa);};
Class.methodB = function(pb,pc){console.log(pb+pc);};
Class.methodA('');
Class.methodB(,);
//给一个对象添加方法
var Class = {"x":"","y":""};
Class.methodA = function(pa){console.log(pa);};
Class.methodB = function(pb,pc){console.log(pb+pc);};
Class.methodA('');
Class.methodB(,);
将对象的所有属性名放到一个数组中 || 获得对象的所有属性名 || return;不具有原子性 || 怎样自己制作异常|| 判断对象有没有某个属性 || 当传递的参数比需要的参数少的时候,没有的值会被赋予undefined || 获得函数实际传递的参数 || 怎么用函数处理一个对象 || 用一个名字空间定义一个模块所有的函数 || 给一个对象添加方法的更多相关文章
- 面试题-->写一个函数,返回一个数组中所有元素被第一个元素除的结果
package com.rui.test; import java.util.Random; /** * @author poseidon * @version 1.0 * @date:2015年10 ...
- 4.产生10个1-100的随机数,并放到一个数组中 (1)把数组中大于等于10的数字放到一个list集合中,并打印到控制台。 (2)把数组中的数字放到当前文件夹的numArr.txt文件中
package cn.it.text; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayLis ...
- C#实现如何判断一个数组中是否有重复的元素 返回一个数组升序排列后的位置信息--C#程序举例 求生欲很强的数据库 别跟我谈EF抵抗并发,敢问你到底会不会用EntityFramework
C#实现如何判断一个数组中是否有重复的元素 如何判断一个数组中是否有重复的元素 实现判断数组中是否包含有重复的元素方法 这里用C#代码给出实例 方法一:可以新建一个hashtable利用hasht ...
- JS案例之8——从一个数组中随机取数
近期项目中遇到一个需求,从一个列表中随机展示列表的部分内容,需求不大,JS也非常容易实现.主要是运用到了Math对象的random方法,和Array的splice方法. 思路是先新建一个数组,存放所有 ...
- js中关于一个数组中最大、最小值以及它们的下标的输出的一种解决办法
今天在学习js中的数组时,遇到的输出一个数组中最大.最小值以及它们的下表,以下是自己的解决方法! <script type="text/javascript"> var ...
- 【leetcode】Merge Sorted Array(合并两个有序数组到其中一个数组中)
题目: Given two sorted integer arrays A and B, merge B into A as one sorted array. Note: You may assum ...
- 笔试题&面试题:找出一个数组中第m小的值并输出
题目:找出一个数组中第m小的值并输出. 代码: #include <stdio.h> int findm_min(int a[], int n, int m) //n代表数组长度,m代表找 ...
- C#获取一个数组中的最大值、最小值、平均值
C#获取一个数组中的最大值.最小值.平均值 1.给出一个数组 ,,,,,-,,,,}; 2.数组Array自带方法 本身是直接可以调用Min(),Max(),Average()方法来求出 最小值.最大 ...
- php 从一个数组中随机获取固定数据
<?php /* * * 通过一个标识,从一个数组中随机获取固定数据 * $arr 数组 * $num 获取的数量 * $time 随机固定标识值,一般用固定时间或者某个固定整型 * */ fu ...
随机推荐
- browser shell
我一直坚信,做项目需要通过文档来总结.一来可以梳理自己的项目和思路,二来可以备忘,三则可以为有同样需求的朋友提供一些参考.如果一直不进行总结,真的很可能是写了多年的代码,却只有一年的经验.当学习一项新 ...
- iso 培训笔记
protocol协议 + 类方法- 实例方法:继承()方法 <> [] 方法调用 .属性:参数mvc storyboard 资源文件info.plist 权限viewcontroller ...
- koa知识点
1. Koa 不支持 直接调用底层 res 进行响应处理.请避免使用以下 node 属性: res.statusCode res.writeHead() res.write() res.end() 2 ...
- 关于databinding的细节
原文在此:http://www.codeproject.com/Articles/24656/A-Detailed-Data-Binding-Tutorial 完整译文在此:http://www.cn ...
- 逐行读取txt文件,使用Linq与StreamReader的Readline方法
List<string[]> list = File.ReadLines("YourFile.txt") .Select(r => r.TrimEnd('#')) ...
- [Maven]Apache Maven 入门篇
作者:George Ma 上 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这个入门篇分上下两篇.本文着重动手,用 ma ...
- mysql grant命令错误:ERROR 1044 (42000): Access denied for 'root' With All Privileges
http://stackoverflow.com/questions/21714869/error-1044-42000-access-denied-for-root-with-all-privile ...
- 【转载】nodejs,npm,express分别什么?
很多刚刚接触nodejs的初学者,都会经历一个很繁冗的环境安装过程. 一般主要要安装nodejs,npm和express三样东西.那么这三样东西分别是干什么的呢? 本篇文章就大致介绍一下这三样东西分别 ...
- 【HOW】在InfoPath中如何为浏览和编辑模式设置不同的视图
1. 在SharePoint Designer中打开要自定义视图的列表.并点击菜单:列表设置 > 在 InfoPath 中设计表单 > {要自定义表单的内容类型},则会自动打开InfoPa ...
- PHP常用函数(1)
1. create_linkstring 说明: 把数组拼接成字符串 if (!function_exists('create_linkstring')) { /** * 把数组所有元素,按照“参数= ...