javascript
1.js引入方式
1.1引入方式一:内接式
1.2引入方式二:外接式
2.注释
//单行注释
3.调试语句
alert('');弹出警告框
console.log('');控制台输出
document.write('');页面上输出
目前成都创新互联公司已为千余家的企业提供了网站建设、域名、雅安服务器托管、网站托管、企业网站设计、湘西土家族网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
4.变量
4.1定义变量
//方式一:先定义 后赋值
var a=3;
a=100;
//方式二:定义+赋值
var a=100;
//变量需要先定义,后使用,不设置变量,直接输出,会报错
4.2变量的命名规范
只能由英文字母、数字、下划线、美元符号$构成
不能以数字开头
不能是js的关键字
4.3数值类型-number
如果一个变量中,存放了数字,那么这个变量就是数值类型
只要是数字,无论是整数,还是小数,无论正数,负数
typeof number;//查看数据类型
4.4字符串类型-string
4.5布尔类型-boolean
4.6空对象-object
4.7未定义-undefined
4.8复杂数据类型
Fuction
Object
Array
String
Date
后面详解
4.9数据类型转换
4.9.1number转换为string类型
//隐式转换
//强制转换
//四舍五入
4.9.2string转换为number类型
4.9.3任何数据类型都可以转为boolean类型
var b1 = '123'; //true
var b2 = 0; //false
var b3 = -123 //true
var b4 = Infinity; //true
var b5 = NaN; //false
var b6; //false
var b7 = null; //false
//使用Boolean(变量) 来查看当前变量的真假
5.运算符
5.1赋值运算符
5.2算数运算符
5.3比较运算符
6.流程控制
6.1if
var age = 20;
if(age>18){
//{}相当于作用域
console.log('可以去学车');
}
alert('vita'); //下面的代码照样执行
6.2if-else
var age = 20;
if(age>18){
//{}相当于作用域
console.log('可以去学成');
}else{
console.log('年龄还不到');
}
alert('vita'); //下面的代码照样执行
6.3if-else if -else
var age = 18;
if(age==18){
//{}相当于作用域
console.log('可以去学成');
}else if(age==30){
console.log('该买车了');
}else{
console.log('随便你了')
}
alert('vita'); //下面的代码照样执行
6.4逻辑与&&、逻辑或||
//1.模拟 如果总分 >400 并且数学成绩 >89分 被**大学录入
//逻辑与&& 两个条件都成立的时候 才成立
if(sum>400 && math>90){
console.log('**大学录入成功');
}else{
alert('去别的学校吧');
}
//2.模拟 如果总分>500 或者你英语大于85 被**大学录入
//逻辑或 只有有一个条件成立的时候 才成立
if(sum>500 || english>85){
alert('被**大学录入');
}else{
alert('去别的学校吧');
}
6.5switch语句
6.6while循环
6.7do-while循环
用途不大:就是先做一次 ,上来再循环
6.8for循环
7.函数
function:是关键字。
函数名字:命名规定和变量的命名规定一样。
只能是字母、数字、下划线、美元$符号,不能以数字开头。
参数():后面有一对小括号,里面放参数。
大括号{}里面是函数语句
7.1函数全局污染
两个js文件中的函数名相同,会调用后引入的js中的函数
7.2全局污染处理
8.对象
8.1创建对象的方式
1.使用Object或对象字面量创建对象
2.工厂模式创建对象
3.构造函数模式创建对象
4.原型模式创建对象
8.2使用Object或对象字面量创建对象
object方式创建对象
字面量方式创建对象
一个student对象创建完成,拥有两个属性:name及age。
但这种方式有个缺点,就是创建多个student,就需要书写多次相同模式的代码。
8.2.1对象取值小方法
p标签内容--原有内容
8.2.2删除对象中的属性
p标签内容--原有内容
8.3工厂模式创建对象
对于上面创建的对象student1和fruit,用×××tanceof监测,都是Object类型
如果我们希望student1是student类型,fruit是fruit类型,那么可以使用自定义构造函数的方法来创建对象。
8.4构造函数模式创建对象
8.4.1构造函数和普通函数
var obj = new Object();
var arr = new Array(10); //构造一个初始长度为10的数组对象
这两种都是使用构造函数方式创建对象
构造函数与普通函数区别:
1.实际上并不存在创建构造函数的特殊语法。
对于任意函数,使用new操作符调用,就是构造函数;不使用new操作符调用,就是普通函数。
2.按照惯例,约定构造函数名以答谢字母开头,普通函数以小写字母开头。例如new Array(),new Object()。
3.使用new操作符调用构造函数时,会经历(1)创建一个新对象;(2)将构造函数作用域赋给新对象(使this指向该新对象);(3)执行构造函数代码;(4)返回新对象;4个阶段。
8.4.2构造函数创建对象
我们看到两个对象中有相同的方法,可以把相同的方法移到构造函数外部
我们通过将共用的函数定义为全局函数,这样对象中的alertName属性则被设置为指向该全局函数的指针。由此解决了内存浪费的问题。
还可以通过原型对象模式来解决
8.4.3原型模式创建对象
9.复杂数据类型
9.1数组Array
9.1.1数组的创建
方式一:字面量方式创建
方式二:构造函数方式
7.1.2数组的常用方法
7.1.2.1toString()把数组转换为字符串
7.1.2.2重写toString()和toLocalString()
7.1.2.3栈方法--后进先出push(),pop()
7.1.2.4队列方法-先进先出unshif(),shift()
7.1.2.5数组排序sort(),reverse()
"sort是先按照第一个字符进行排序,然后按照第二个字符排序"
"重写sort排序规则"
7.1.2.6concat()把几个数组合并为一个数组
7.1.2.7slice()数组切片
7.1.2.8splice()可插入,删除,替换数组内容
7.1.2.9indexOf(),lastindexOf()查看数组中元素的索引
7.1.2.10filter()将数据中的元素进行过滤
7.1.2.11map()对数组中的每个元素进行操作
7.1.2.12forEach()
7.1.2.13join()
将数组中元素使用指定的字符串连接起来,会形成一个新的字符串
7.1.2.14isArray(被检测的值)
布尔类型值 = Array.isArray(被检测的值) ;
判断被检测的值是否是数组,返回布尔值。
7.1.3伪数组arguments
之所以说arguments是伪数组,是因为arguments可以修改元素,但是不能改变数组的长度。
7.2字符串
7.3Date日期对象
7.3.1日期对象的方法
7.3.2日期对象小应用
7.4编码和解码方法
7.5window对象
所有变量和方法都属于window对象。
7.6math对象
7.6.1math方法试验
7.6.2获取min-max之间的整数
7.6.3获取随机颜色
7.6.4获取随机验证码
本文标题:javascript
URL链接:http://lswzjz.com/article/gojdgi.html