1.JavaScript 学习笔记

1.javascript

javascript 是一种脚本语言。它是动态解释执行的。

1.1 引入js文件

1.使用javascript:前缀构建执行js的代码url
2.使用<script…/>来包含js代码

<script src="xxx.js" type="text/javascript"> </script>

1.2 数据类型和变量

js是弱类型语言,变量无需定义,直接给变量赋值,使用var关键字定义变量。
js变量是区分大小写的。

数值类型:整数Number和浮点数Float
布尔类型:true false

undefined类型:已经创建但没有初值的变量
null类型:设置为null的对象

1.3 字符串

字符串类型:可以单引号 双引号

var carname = "Volvo XC60";
var character = carname[7];

可以在字符串中使用引号,字符串中的引号不要与字符串的引号相同

var answer = "It's alright";
var answer = "He is called 'Johnny'";

可以在字符串添加转义字符来使用引号:

var x = 'It\'s alright';
var y = "He is called \"Johnny\"";

字符串长度

var sln = txt.length;

特殊字符

\'单引号
\"双引号
\\反斜杠
\n换行
\r回车
\t制表符
\b退格符
\f换页符

对象

var x = "John";             
var y = new String("John");
(x === y) // 结果为 false,因为 x 是字符串,y 是对象

=== 为绝对相等,即数据类型与值都必须相等。

1.4 运算符

== 等于
=== 绝对等于(值和类型相等)
!== 不绝对等于(值和类型有一个不相等或者两者都不想等)

typeof 操作符

typeof "John"                // 返回 string
typeof 3.14                  // 返回 number
typeof false                 // 返回 boolean
typeof [1,2,3,4]             // 返回 object
typeof {name:'John', age:34} // 返回 object

1.5 数据类型

在 JavaScript 中有 6 种不同的数据类型:

string
number
boolean
object
function
symbol

3 种对象类型:

Object
Date
Array

2 个不包含任何值的数据类型:

null
undefined

constructor 属性
constructor 属性返回所有 JavaScript 变量的构造函数。

1.6 字符串互相转换

将数字转换为字符串

String(x)         // 将变量 x 转换为字符串并返回
String(123)       // 将数字 123 转换为字符串并返回
String(100 + 23)  // 将数字表达式转换为字符串并返回

//Number转换为字符串
x.toString()
(123).toString()
(100 + 23).toString()

//将布尔值转换为字符串
String(false)        // 返回 "false"
String(true)         // 返回 "true"
//Date 转换为String
String(new Date())      // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

//字符串转换为数字
Number("3.14")    // 返回 3.14
Number(" ")       // 返回 0
Number("")        // 返回 0
Number("99 88")   // 返回 NaN 不是数字

//布尔值转换为数字
Number(false)     // 返回 0
Number(true)      // 返回 1

//将日期转换为数字
d = new Date();
Number(d)          // 返回 1404568027739

1.7 支持自动类型转换

var a = "3.1415";
var b = a-2;
var c = a+2;

alert(b+"\n"+c);
//结果:b=1.145 c=3.1452

减号:因为字符串不支持减法,所以自动将字符串转换成数值
加号:字符串可以作为连接运算符,自动会转换为字符串。

isNaN() 是否不是数字 true 不为数字
toString()
parseInt(param) 将字符串布尔 转换成整数
parseFloat(param) 将字符串布尔值 转成浮点数

2. 创建对象

2.1 内置对象 Math Date

Math.floor() 向下取整
Math.ceil() 向上取整
Math.random() 0-1的随机值 

var dd = new Date();

Array
String

2.2 构造函数及普通函数

function Person(name){
	this.name = name;
}
// 对象的创建访问
var per = {
		name: "lissi",
		age: 12
};
var pp = new Person("lisi");

//普通函数
function methodName(name){
	//可以添加返回值
	return "hello world!"
}

2.3 创建对象

var book = {};

var book ={
	”key“:"value",
	"sub":"lisi"
	author:{ //这是一个对象
		"name":'wangwu'
	}
	//类内部方法
	sayHi:function(){
		alert('hello');
	}
}

2.4 遍历对象

key是对象的属性名称,value 属性值

for(var key in obj){
	console.log(obj[key]);获取value 值	
}

3. 数组

3.1 创建数组

 	var arr = new Array();
	var arr =['a','b','c'];

根据下标获取数组元素

	console.log(arr[0]);

遍历数组

var arr = ['red','green', 'blue'];
for(var i = 0; i < arr.length; i++){
    console.log(arrStus[i]);
}

数组长度

arr.length()

数组添加

arr[index] ='newName';

4.函数

4.1 arguments

不确定有多少个参数传递的时候,可以用 arguments 来获取。JavaScript 中,arguments实际上它是当前函数的一个内置对象。所有函数都内置了一个 arguments 对象,arguments 对象中存储了传递的所有实参。arguments展示形式是一个伪数组,因此可以进行遍历

function fn() {
    for (var i = 0; i < arguments.length; i++) {
        console.log(arguments[i]);
    }
}
fn(1, 2, 3);
fn(1, 2, 3, 4, 5);

命名函数

匿名函数

5.作用域

全局作用域
局部作用域
作用域链

6.预解析

JavaScript 代码是由浏览器中的 JavaScript 解析器来执行的。JavaScript 解析器在运行 JavaScript 代码的时候分为两步:预解析和代码执行。

  • 预解析:在当前作用域下, JS 代码执行之前,浏览器会默认把带有 var 和 function 声明的变量在内存中进行提前声明或者定义。
  • 代码执行: 从上到下执行JS语句。
    预解析会把变量和函数的声明在代码执行之前执行完成
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值