一.基本结构
基本类型:number,string,boolean(null,undefined)
复合类型:函数,对象,数组
二.定义结构
1))JS中有三种定义函数的方式
- 正常方式:function mysum(num1,num2){return num1+num2;}
function mysum(num1,num2){
return num1 + num2;
}
var myresult = mysum(100,200);
alert("myresult="+myresult);
- 构造器方式:new Function(“num1”,“num2”,“return num1+num2;”)
var youresult = new Function("num1","num2","return num1+num2");
alert( youresult(1000,2000) );
- 直接量或匿名或无名方式:var mysum = function(num1,num2){return num1+num2;}
var theyresult = function(num1,num2){
return num1 + num2;
}
alert( theyresult(10000,20000) );
2))对象的定义
- 内置对象 :Date,Math,String,Array,。。。
var str = new Date().toLocaleString();
window.document.write("<font size='44' color='red'>"+str+"</font>");
- 自定义对象:Person,Card,。。。
function Student(id,name,sal){
//this指向s引用
this.id = id;
this.name = name;
this.sal = sal;
}
var s = new Student(1,"波波",7000);
document.write("编号:" + s.id + "<br/>");
document.write("姓名:" + s.name + "<br/>");
document.write("薪水:" + s.sal + "<br/>");
- 浏览器对象: window,document,status,location,history。。。
function myrefresh(){
window.history.go(0);
}
- ActiveX对象:ActiveXObject(“Microsoft.XMLHTTP”),。。。
三.语法
- 运算符(与java一样)
运算符就是完成操作的一系列符号,它有七类:
赋值运算符(=,+=,-=,=,/=,%=,<<=,>>=,|=,&=)、算术运算符(+,-,,/,++,–,%)、比较运算符(>,<,<=,>=,,=,!=,!==)、逻辑运算符(||,&&,!)、条件运算(??、位移运算符(|,&,<<,>>,~,^)和字符串运算符(+)。 - 语句(与java一样)
Javascript程序是由若干语句组成的,语句是编写程序的指令。Javascript提供了完整的基本编程语句,它们是:
赋值语句、switch选择语句、while循环语句、for循环语句、for each循环语句、do while循环语句、break循环中止语句、continue循环中断语句、with语句、try…catch语句、
if语句(if…else,if…else if …)、let语句。
四.互相转换
字符串与number型互相转换:parse类型(),toString()
JSON对象与字符串:parseJSON(),toString()
①字符串转json:JSON.parse($scope.entity.brandIds);
附录:
1.补充:
①方法的定义和对象的定义:定义结构很像,唯一区别是有没有return
②类型的总结:
所有的数值都是number类型
字符和字符串都是string类型
布尔是boolean类型
如果一个变量没有初始化值的时候,其类型为undefined类型。表示没有定义。
③数组的初始化:var arrs=[]; var arrs=new Array();var arrs=new Array(20);var arrs=[“aa”,“bb”,“cc”];
增删改查:赋值:arr[0] = “aa”;
增:push( [item1 [item2 [. . . [itemN ]]]] )
删:splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
常见方法
Array中的方法:
sort()
对当前数组进行排序,并返回已经进行了排序的此Array对象。
不会创建新对象,是在指定数组中直接进行排序。
reverse()
对当前数组进行反转排序,返回一个元素顺序被反转的 Array 对象。
不会创建新对象,是在指定数组中直接进行排序。
push( [item1 [item2 [. . . [itemN ]]]] )
将以新元素出现的顺序添加这些元素。
如果参数之一为数组,那么该数组将作为单个元素添加到数组中。
pop()
移除数组中的最后一个元素并返回该元素。
如果该数组为空,那么将返回 undefined。
shift()
移除数组中的第一个元素并返回该元素。
如果该数组为空,那么将返回 undefined。
unshift([item1[, item2 [, . . . [, itemN]]]])
将指定的元素插入数组开始位置并返回该数组。
splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
移除从 start 位置开始的指定个数的元素,并插入新元素,从而修改 concat([item1[, item2[, . . . [, itemN]]]])
返回一个新数组,这个新数组是由两个或更多数组组合而成的。原数组不变。
要加的项目(item1 … itemN)会按照从左到右的顺序添加到数组。
如果某一项为数组,那么添加其内容到 array1 的末尾。
如果该项目不是数组,就将其作为单个的数组元素添加到数组的末尾。
slice(start, [end])
返回一个包含了指定的部分元素的数组。
将返回索引大于等于start且小于end的一段。
原数组不变。
join(separator)
把所有元素由指定的分隔符分隔开来组成一个字符串,返回这个字符串值。
如果数组中有元素没有定义或者为 null,将其作为空字符串处理。
对象的初始化:json对象:var arrs={};
其他对象:与定义结构一样