js 使用嵌套for循环输出三角形
for(var i=0; i<5; i++){ //正三角 // for(var j=0; j<i+1; j++){ // document.write("* "); // } // 倒三角 for(var j=0; j<5-i; j++){ document.write("* "); } document.write("<br />"); }
js 中 break和continue只能在switch或循环语句中使用
break: 默认会立即终止离它最近的那个循环语句。 后可以跟一个lable 表示指定终止某个for循环 lable:循环语句 ( 给该循环语句命名) continue: 默认只对最近的循环语句跳出当前循环次数。 后可以跟一个lable 表示指定跳过某个for循环当前循环次数 eg: outer: for(var i = 0; i<5; i++) { document.write("外层"+i); for(var j = 0; j<5; j++) { if(j=1){ break/continue outer; } document.write("内存"+j); } } 如果不在break/continue后加outer, 则默认终止/跳过内存for循环。
js 中 对象的基本操作
// 使用构造函数来创建对象 var obj = new Object(); 或者 var obj = {name:"张三",age:18}; (创建的同时添加属性) // 给对象添加属性 (属性值可以是任意数据类型) obj.name = "张三"; obj['sex'] = "男"; //检查对象中是否含有某属性 console.log("age" in obj); // 有的话输出true 没有的话输出false
js 中 基本数据类型和引用数据类型的区别
基本数据类型eg: var a = 1; var b = a; a++; console.log("a="+a); //a = 2 console.log("b="+b); //b = 1 引用数据类型eg: var a = new Object(); a.age = 18; var b = a; a.age = 19; console.log(a.age); // 19 console.log(b.age); // 19 1、基本数据类型的值是存储在栈内存中,值与值之间独立存在,修改一个变量,其他变量不会改变 2、引用数据类型(对象)的值是存储在堆内存中,每创建一个新的对象,就会在堆内存中开辟出一个新的空间,而 变量保存的是对象的内存地址
js 中 函数的实参可以为任意数据类型。
js 中 立即执行函数(匿名函数),往往只执行一次
(function(){ alert('我是立即执行函数'); })();
js 中 全局作用域下,创建的变量和函数都会作为window对象的属性和方法保存。
<script type="text/javascript"> var a = 1; console.log(a); //1 console.log(window.a); //1 function b() { console.log(2); } window.b(); //2 b(); //2 </script>
js 中 使用var声明的变量会在所有代码执行前声明。function 函数名(){} 会在所有代码执行前创建函数。
js 中 碰到大量定义有相同属性的对象时,可以使用工厂方法创建对象(构造函数一般是首字母大写,可以理解为类,然后实例化)。
function Person(name,age) { this.name = name; this.age = age; } var obj2 = new Person("张三",18); var obj3 = new Person("李四",20); var obj4 = new Person("王五",24); console.log(obj2,obj3,obj4); //输出:{"age":18,"name":"张三"} {"age":20,"name":"李四"} {"age":24,"name":"王五"} 检查obj2是否是Person类的一个实例 console.log(obj2 instanceof Person);
js 中 原型对象
function Person(name,age) { this.name = name; this.age = age; } Person.prototype.a = 1; Person.prototype.sayHello = function(){ console.log('hello'); } obj4.a = 2; var obj2 = new Person("张三",18); var obj3 = new Person("李三",19); var obj4 = new Person("王三",20); console.log(obj2.a); //输出1 console.log(obj3.a); //输出1 console.log(obj4.a); //输出2 obj2.sayHello(); //hello