[nodejs入门]第一篇,javascript基础(1)

// 声明变量
// 字符串
var str1 = 'this is a string'
var str2 = 'this is another string'
var str3 = str1 + str2

console.log('str1 + str2 = ' + str3)    // str1 + str2 = this is a stringthis is another string

// number
var num1 = 19
var num2 = 1.22
var num3 = num1 + num2
console.log(num3)	// 20.22

// 声明但未赋值的变量
var v
console.log('已声明但未赋值的变量=' + v)	// 声明但未赋值的变量=undefined

var arr = ["1","2"]
console.log('获取数组中不存在的元素=' + arr[3])	// 获取数组中不存在的元素=undefined

var obj = {name: 'jack', age: 12}
// 获取对象中不存在的属性,返回undefined,如果请求不存在的方法,nodejs会报错
console.log('获取对象中存在的属性:' + obj.name)    // 获取对象中存在的属性:jack
console.log('获取对象中不存在的属性:' + obj.smile)    // 获取对象中不存在的属性:undefined
console.log('获取对象中不存在的方法:nodejs会报错,编译不会通过')    // 获取对象中不存在的方法:nodejs会报错,编译不会通过

// 注意使用[]访问对象属性,属性名称必须添加引号
console.log(obj['name'])    // jack

// 访问不存在的属性,返回undefined
console.log(obj['undefined'])    // undefined

// 循环
var i = 0
while(i < 5){
	console.log('while循环:i=' + i)
	i++
}

var j = 0
do{
	console.log('do while 循环:' + j)
	j++
}while(j < 5)

console.log('循环后的结果:i=' + i + '; j=' + j)

// 原来数组真的可以for in
// 格式是 for(var index in array)
// 注意啊,这里的index是序号,不是array中的元素,如果需要访问数组中的元素,
// 需要使用array[index]访问
for(var idx in arr){
	if(arr[idx] == '2'){
		break
	}
	console.log('第' + idx + '个元素是:' + arr[idx])	   // 第0个元素是:1
}

// 创建对象
// 注意:使用new object()的方式声明对象,Object的首字母o必须大写
var people1 = new Object()
people1.name = 'Jack'
people1.age = 12
people1.getFullName = function(){
	return (people1.name + '的年纪是' + people1.age)
}

console.log(people1.getFullName())

var people2 = {
	name: 'Lilei',
	age: 21,
	getFullName: function(){
		// 注意:这里要调用name和age属性,必须使用this.+属性名这样的格式
		// 不然会报undefined
		return (this.name + '的年纪是' + this.age)
	}
}
console.log(people2.getFullName())

// 注意:用function方法声明的类,必须使用new来创建实例
// 如果直接调用 p3=people('name',11)这样的写法,p3返回undefined
function People(name, age){
	this.name = name
	this.age = age
	this.getFullName = function(){
		// return (this.name + '的年纪是' + this.age)
		return (name + '的年纪是' + age)	// 这句和上面那句都能正确运行
	}
	
	var name1 = name
	var age1 = age
	
	function getFullName1(){
		return (name1 + '的年纪是' + age1)
	}
	
	this.getFullName2 = function(){
		return (name1 + '的年纪是' + age1)
	}
}
var people3 = new People('Han meimei', 14)
console.log(people3.getFullName())
console.log('访问函数内使用var声明的变量,name1=' + people3.name1)  // 访问函数内使用var声明的变量,name1=undefined
// console.log('访问函数内直接使用function定义的方法:' + people3.getFullName1())	// getFullName1未定义,nodejs报错
console.log('访问函数内直接使用this定义的方法调用var声明的变量:' + people3.getFullName2())	// 访问函数内直接使用this定义的方法调用var声明的变量:Han meimei的年纪是14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值