JavaScript基础回顾知识点记录2
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 中 原型对象
- 什么是原型对象:我们创建的每个函数,解析器都会向函数中添加一个属性prototype,该属性对应着一个原型对象。
- 如果作为普通函数调用,则没有用。如果是构造函数调用(即类的实例化),实例化的对象有一个隐含属性指向构造函数的原型对象。
- 原型对象相当于一个公共区域,所有同一个类的实例都可以访问。可以将共通内容放置到原型对象中
- 当访问一个属性或方法时,会现在对象自身中找,如果没有则去原型对象中找。
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
JavaScript基础回顾知识点记录2的更多相关文章
- JavaScript基础回顾知识点记录6-操作元素样式和事件对象(介绍基本使用)
js 中 操作元素样式 通过js修改元素内联样式(设置和读取的都是内联样式) 获取当前元素显示的样式 <html> <head> <meta charset=" ...
- JavaScript基础回顾知识点记录4-正则表达式篇(介绍基本使用)
js 中 正则表达式使用 创建正则对象和test方法使用 /* 创建正则表达式的对象 语法: var 变量 = new RegExp("正则表达式","匹配模式" ...
- JavaScript基础回顾知识点记录3
js 中 垃圾回收 //将不在使用的对象设置为null , js就会自动进行垃圾回收机制 var obj = {}; obj = null; js 中 数组基本介绍 数组也是一个对象 与普通对象功能类 ...
- JavaScript基础回顾知识点记录1
js执行顺序为从上往下执行 js中有6种数据类型 基本数据类型为: String Number Boolean Null Undefined 引用数据类型为: Object 使用typeof 查看对象 ...
- Javascript基础回顾 之(三) 面向对象
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- Javascript基础回顾 之(二) 作用域
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- Javascript基础回顾 之(一) 类型
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- JavaScript 基础回顾——对象
JavaScript是基于对象的解释性语言,全部数据都是对象.在 JavaScript 中并没有 class 的概念,但是可以通过对象和类的模拟来实现面向对象编程. 1.对象 在JavaScript中 ...
- JavaScript基础回顾一(类型、值和变量)
请看代码并思考输出结果 var scope = 'global'; function f(){ console.log(scope); var scope = 'local'; console.log ...
随机推荐
- React简单教程-6-单元测试
前言 我想大部分人的前端测试,都是运行项目,直接在浏览器上操作,看看功能正不正常.虽然明明有测试库可以使用,但是因为"要快"的原因,让好好做测试变成了一件影响效率的事. 因为这种无 ...
- torch.tensor(),torch.Tensor()
Pytorch tensor操作 https://www.cnblogs.com/jeshy/p/11366269.html 我们需要明确一下,torch.Tensor()是python类,更明 ...
- VmWare安装Centos8注意事项
VmWare安装Centos8注意事项 1.需选择稍后安装操作系统 2.选择操作系统版本 3.修改虚拟机配置 4.配置完成点击开启虚拟机(注意要将鼠标放在屏幕中央,点击一下后才能使用上下键进行选择) ...
- 【主流技术】Mybatis Plus的理解与应用
前言 mybatis plus是一个mybatis的增强工具,在其基础上只做增强不做改变.作为开发中常见的第三方组件,学习并应用在项目中可以节省开发时间,提高开发效率. 官方文档地址:MyBatis- ...
- ExtJS 布局-Border 布局(Border layout)
更新记录: 2022年6月11日 发布. 2022年6月1日 开始. 1.说明 边框布局允许根据区域(如中心.北部.南部.西部和东部)指定子部件的位置.还可以调整子组件的大小和折叠. 2.设置布局方法 ...
- css设置元素背景透明度的2种方式
更新记录 本文迁移自Panda666原博客,原发布时间:2021年7月9日. 设置元素的背景的透明度可以使用2种方式:方式1:opacity属性.方式2:使用rgba值.两种方式有一点差异,opaci ...
- ffmpeg使用总结
2021-07-21 初稿 截图 ffmpeg -i <video> -ss <time> -vframes 1 <output_pic> 设置视频封面 ffmpe ...
- 安装@parcel/transformer-image注意的问题
安装前配置 npm config get cache 键入以上命令即可找到npm缓存路径,然后找到路径下的_libvips文件夹. 一般需要以下两个文件,这里以win环境为例.把文件放到_libvip ...
- SAP FICO 常用table
Table 描 述 "Table Type" "Application Class" "Data Class" Description &q ...
- Java模拟西宝高速公路
@ 目录 写在前面 一.仿真模拟的具体要求 二.类的设计 2.1 抽象父类PubVehicles 2.2 Expressway类 2.3 Passenger类 2.4 Timer类 2.5 Displ ...