js的含义
即为Javascript 一种编程语言 ,脚本语言
//var obj={
name:"范冰冰",
age:18
}
obj.gender="male";
js的组成:
1.ECMASCript JS的语法标准以及规范!现在的最新的是ES6,不过使用的是ES4
2.DOM Document Object Model 一套用来操作页面元素的API
- API :Application Programming Interface 应用程序接口
- 部分轮播图可由DOM完成
3.BOM Browser Object Model 一套用来操作浏览器相关信息的API
//location 可以用来操作和获取 所有跟url地址相关的信息
//href: 后跟链接
//navigator 可以用来操作
//Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36
//history
//history.go()
//()中可以放-1,0,1分别含义为后退,刷新,前进
//url 地址格式
// 协议名称://域名 :端口号/路径 ?参数 #哈希值
// http: //www.baidu.com:8080/home/index?q=1234#book
//创建了一个匹配google浏览器的正则表达式
var reg=/chrome\/(\d+\.\d+)/i;
//用正则表达式来匹配是否可以通过验证
alert(reg.test(ua));
js中的数据类型
简单类型与复杂类型的分类
1.基本数据类型
- string,number,boolean,undefined,null
- undefined 数据在声明未赋值的时候,就是undefined
- null 数据不可能自动为null,除非手动赋值为null
//var a = 1;
//var a = null;
//int a;
//string b;
//var a = {
// name:"杨皊".
// age:18,
// money:99
// }
// a = null;
//var div = document.getElementsByTagName("div");
// function getPerson(name) {
// if (name) {
// return {
// name: name
// }
// }
// return null;
// }
// var p = getPerson("AABB");
// console.log(p); //Object:{name:"AABB"}
// var p1=getPerson();
// console.log(p1); //null
2.复杂数据类型
-
function
-
Object
- var obj = new Object();
-
Array
- var arr = new Array();
-
Date
- var now = new Date();
-
RegExp
- var reg = new RegExp();
-
Math
-
String
- var str = new String();
-
Number
- var num = new Number();
-
Boolean
-
var bool = new Boolean();
var str="abc"; // console.log(str[0]); //a var str1=new String("abc"); console.log(str); //abc console.log(str1); //string{0:"a",1:"b",2:"c" strength}:类似于对象的字符串
-
值类型和引用类型的分类
-
1.值类型
- 直接存储的是数据本身的这种数据,就是值类型的数据
var a=10; var b= "abc";
-
2.引用类型
- 存储的是数据的地址,数据单独存储起来的这种数据就是引用类型的数据
var obj={ name:"周杰伦", age:18, car:{ brand:"Mobike", color:"YellowGreen" } };var arr=[ {songName:"成都",singer:{name:"赵雷",age:30}}, {songName:"消愁",singer:{name:"毛不易",age:20}}, {songName:"告白星球",singer:{name:"Jay",age:35}}, {songName:"太阳最红毛主席最亲",singer:{name:"阿宝",age:35}} ] -
可以使用图示法进行解析地址,如下所示:
![]()
-
分别的特征
-
值类型复制的特征
-
当值类型数据在赋值的时候,会将存储的数据直接复制一份交给新的变量,此时虽然两个变量值相同,但是存储空间完全独立,互不影响
var num=123; var num1=num; num1=456; console.log(num); //123function test(num){ //var num=num1 num++; } var num1=100; test(num1); console.log(num1); //num1=100; 上述函数只是为num赋值,与下边的num1没关系
-
-
引用类型的赋值特征
-
当引用类型数据赋值的时候,会将存储的数据的地址复制一份交给新的变量,此时两个变量同时指向同一个对象,修改其中一个,另外一个也会受到影响!
var obj={ name:"王力宏", type:"高富帅" }; var obj1=obj; obj1.type="白富美"; console.log(obj.type); //obj={name:"王力宏",type:"白富美"};function upgrade(){ obj.money=999; obj={ name: "王心凌", money: 100 } } var xhy = { name :"金沙", money:1 }; upgrade(xhy); //在这种情况下,先更改了xhy的money为999,之后又重新加了一个新对象 console.log(xhy.money); //999
-
-
获取数据类型的方式
- typeof 关键字
// var num1=123; var num2="123"; var num3=false; // var type1 =typeof num1; var type2 =typeof num2;var type3 =typeof num3; // console.log(type1); //number // console.log(type2); //string // console.log(type3); //boolean // console.log(typeof (typeof num)); //string ,是在求(number,string,boolean)字母的类型// function test(){ // } // console.log(typeof test); //function-
typeof关键字注意事项
- 使用typeof获取复杂类型数据的类型的时候,除了function,其他的数据类型获取到的全都是object
var obj={}; console.log(typeof obj); //object var arr=[]; console.log(typeof arr); //object //**console.log(arr.constructor.name);//Array var now =new Date(); console.log(typeof now); //object var reg = new RegExp(); console.log(typeof reg); //object console.log(typeof null); //object-
各种类型数据须遵从规则
var a=10; A=11; console.log(a); var $_a1=10; //数据的命名十分大小写的,遵从驼峰命名规则 //var __a; //var _a; //此种命名方式有专有的用途 -
constructor.name使用方式
console.log(arr.constructor.name);//Array

浙公网安备 33010602011771号