1.js功能
(1)数据交互.
(2)特效展现.
(3)表单验证.
(4)正则表达式.
2.js里面的函数
(1)函数的声明规则:function name() {}
例子:
function name() {
console.log(1);
}
name();
2.函数的参数问题 分为形参和实参.
student(1,2,3);
function student(name,sex,age){
console.log(name,sex,age);
}
输出1 2 3
3.函数返回值问题:return 返回直接跳出
console.log(showname());
function showname(){
return 1;
}
4.自执行函数 :
function (){
console.log(123);
}();
function (a,b){
console.log(a,b);
}(1,2);
5.匿名函数:函数没有名称.
3.逻辑结构.
(1)逻辑选择结构:关键词:if.
(2)运算符: 数学运算符 逻辑运算符 比较运算符. 有+ - * / ++ – > < >= <= != && //
(3)= 赋值 == 判断值一样 === 判断值和类型
(4)if逻辑结构举例:
var pay="微信支付";
var res=1;
var price=200;
var num=2;
if(pay=="微信支付")
{
res=0.95;
}
else if(pay=="支付宝支付"){
res=0.9;
}
else{
res=1;
}
var totle=price*num*res;
console.log(totle);
4.JS里面的变量问题.
(1)变量分为局部变量和全局变量.
局部变量为在时间或方法以内的变量;
全局变量为在事件或方法以外的变量;
(2)当变量名称冲突时,就近选择变量;
举例:
var m1 = 20;
function mm1() {
var m2 = 30;
console.log(m1);
var m1 = 100;
console.log(m1, m2);
}
输出结果为100 30;
5.JS里变量不带关键字的问题
(1)当变量不带var时,默认为全局变量;
(2)带var的变量不可以删除,不带var的变量可以删除;举例证明:
var m=1;
c=2;
console.log(Object.getOwnPropertyDescriptor(window,'m'));
console.log(Object.getOwnPropertyDescriptor(window,'c'));
delete m;
console.log(m);
6.函数的递归问题.
(1)其本质就是反复执行本身;
(2)举例:
@ 5的阶乘:
function fun(num) {
if (num == 1) {
return 1;
}
return num * fun(num - 1);
}
console.log(fun(5));
@ 找1·100内所有能被5或6整除的数字;
for(var i=1;i<1000;i++)
{
if(i%5==0||i%6==0)
{
console.log(i);
}
}
@ 找1~100之内的素数;
for (var i = 2; i < 100; i++) {
var issu = false;
for (var k = 2; k < i; k++) {
if (i % k == 0) {
issu = true;
}
}
if (!issu) {
console.log("素数:" + i);
}
7.闭包
(1)闭包就是使用别人的私有变量;
优点:可以使用局部变量;
缺点: 会大量占用内存;导致网页内存泄漏;
尽量避免使用闭包(在做开发时)
8.字符串的常用方法.
(1)查找字符的方法:
var str = "a|b|c|d|efg";
(2)一个参数 找到了返回当前字符的索引位置 没找到直接返回-1;
console.log(str.indexOf("m"));
(3) 两个参数 找到字符返回字符的索引位置 没找到返回-1 从哪个位置开始找;
console.log(str.indexOf("a", 0));
(4) 根据索引获取对应的字符;
for (var index in str) {
console.log(str[index]);
console.log(str.charAt(index));
console.log(str.charCodeAt(index));
}
var as = 97;
console.log(String.fromCharCode(as));
(5)split 将字符串转化为集合;
console.log(str.split("|"));
(6) 集合转化为字符串;
var ss = str.split("|");
console.log(ss.join(""));
(7) 字符串的拼接 ;
var c1 = "abcb";
var c2 = "def";
console.log(c1.concat(c2));
(8) 替换;
console.log(c1.replace("b", 1));
(9)字符串的截取;
console.log(str.substr(1, 4));
(10) 查找索引;
console.log(str.search("a"));
(11) slice 截取字符串;
console.log(str.slice(0, 4), str);