赞
踩
最近学习了一些简单的js入门知识,拿出来分享一下,不喜勿喷!
①主要用来向htnl页面添加动态效果
②直接嵌套再html界面中,建议写在js文件中,有利于结构和行为的分离
③脚本语言可以不用进行预编译直接执行
④弱类型,对使用的数据没有严格的要求
⑤基于对象,不仅可以创建对象,还可以拥有现有的对象
⑥跨平台性,绝大多数浏览器都支持
//
是用来注释单行(多行也是没有问题的)的,/* */
是用来注释代码块的。<script>
alert("alert弹出");//弹出框
console.log("console.log控制台输出");//控制台输出
prompt("prompt提示用户进行输入的对话框");//提示,对话框的形式,
//prompt传入的任何数据都会变成字符串
confirm("confirm先是一个带取消按钮的对话框");//显示一个带有取消按钮的对话框
document.write("<p>这里的内容由document.write输出</p>");//内容输出在文档中
</script>
js代码严格区分大小写
每个语句结尾都需要分号(最好加上分号,以免引擎自动补齐造成语义改变)
方法一:
<!--js引用方式1:外部引用可以放在head body之中,用script标签来引用-->
<script type="text/jscript" charset="UTF-8" src="js/js.js"></script>
方法二:
<!--js引用方法2 内部标签 可以放在head body之中用<script></script>包起来-->
<script> alert("2333"); </script>
方法三:
<!--js引用方法3 放在标签内部 不需要使用script标签,不触发不执行-->
<button onclick="alert(2345667)">点击</button>
<!--语法格式<开始标签 on+事件类型=“js代码”></结束标签>-->
必须以下划线或者字母开头,后面可以跟字母、下划线、数字,不可以有空格和特殊字符
var str_1 = 0;//声明一个变量并赋值
alert (str_1);//弹出变量
//变量名区分大小写
var a = 1;
alert (A);//会报错,无法找到A,js严格区分大小写
不能使用js中的关键字和保留值作为变量名
break、case、catch、continue、default、delete、do、else、finally、for、function、if、 return、switch、this、in、 instanceof、new、throw、try、typeof、var、void、 while、with…
abstract、boolean、byte、char、class、const、debugger、double、enum、export、extends、final、float、goto、 implements、import、int、interface long、native、package、private、protected、public、 short、super、static、synchronized、throws、transient、volatile …
切记: 改变关键字和保留字的中字母的大小写也是一样不行的
例如:名字 name、年龄 age、性别 sex…
Camel标记法(小驼峰):采用第一个字符首字母小写,其他字符首字母大写
Pascal标记法(大驼峰):所有首字母大写
匈牙利标记法:i代表整数 iMyAge s代表字符串 sMyName
es5:使用关键字 var, var 变量名
例如:var a = 2;
定义一个变量a,并给它赋值2
es6: let(定义变量) const(定义常量)
var num = 3;//声明变量并赋值
var num;
num = 2;
//先声明后赋值
var myName,myAge,mySex,Toast;
myName = "小明";
myAge = 18;
mySex = "男";
Toast="我的名字是:"+myName+",今年"+myAge+"岁,我的性别是:"+mySex;
如其名,是全局的,它定义在函数之外,作用范围是整个函数,在声明变量的时候,凡是没有带var关键字自接赋值的都是全局变量
定义在函数体之内,只对该函数起作用其他函数不可见
函数体内的可以访问父函数的变量,父函数不可以访问子函数的变量
可以使用闭包的方式改变变量的作用域
<script> var str_father="im am boy!"//定义一个全局变量 function my(){//定义一个函数,名为my,命名是自定义 var str = "this is my !";//声明变量并赋值 var num = "3";//声明变量并赋值 console.log(str_father);//控制台输出全局变量 console.log(str);//控制台输出局部变量 if(num==1){//if条件判断,符合条件执行,否则不执行 var str_child = "gun"; alert(str);//弹出变量 console.log(str_father);//控制台输出全局变量 }else{ alert("if不行") } } </script>
var str_long = "this is long!";//定义变量
console.log(str_long);//输出变量
var str_long;
console.log(str_long);//直接声明不赋值,变量不会改变
var str_long = "this is short!";//声明并赋值,变量会被覆盖
console.log(str_long);
//省略关键字var
str_short = 123;
console.log(str_short);//直接赋值,全局变量,建议不要使用
//str_num;
//console.log(str_num);//不使用var,不赋值,会报错
<script> var int_num = 10;//定义一个变量,并赋值 var float_num = 20.2;//定义一个变量,赋一个浮点型数字 //+ - * / 先加减后乘除 先括号里的后外面(说实话,感觉和数学区别不大) var a=10; var b=20; var c= a+b; console.log(c); var d = a-b ; console.log(d); var e=a*b; console.log(e); var f = a/b; console.log(f); var g = a*(a+b)-(a-b); console.log(g); </script>
NaN(not a number)
var str="你好";
var str_change= Number(str);//Number() 把括号里的变量转为数值
console.log(str_change);//NaN,因为文字是无法转换为数字的
function my(){//封装成了函数,需要调用
if(isNaN(str_change)){//isNaN 判断一个值是否为NaN
alert("not");
}else{
alert("yes");
}
}
写在html代码中(函数名一定要对应,否则会调用失败)
<button onclick="my()">请点击</button>
var num1 = "147";
var str00 = "hllow";
var num2 = Number(num1);
var str3= Number(str00);
console.log(isNaN(num2));//false
console.log(isNaN(str3));//true
//isNaN判断一个值是否是非数字
//是就返回true 不是就返回false
//string字符串,字符串是以单引号或者双引号括起来的任意文本, //单引号或者双引号成对出现 var str_string="123";//定义一个变量 var str_01 = "他说:'明天'";//双引号包单引号 var str_02 = '他说:"晚上"';//单引号包双引号 console.log(str_01); console.log(str_02); var str_03= "他说:'听天书\"明天\"'";//Unexpected identifier 意外的标识符 //\ \转义,单引号里包双引号再包单引号时,需要使用转义符 console.log(str_03); var str_04 = "小明"; var sAge = "18"; var sLoaction = "广州"; var info = "他的名字叫"+str_04+",他今年"+sAge+"岁,是"+sLoaction+"本地人"; //ES5字符串用+拼接并赋值 var info01 = `他的名字叫${str_04},他今年${sAge}岁,是${sLoaction}本地人`; //ES6字符串用``拼接,使用${}包变量 console.log(info); console.log(info01);
//length返回字符串的长度 var str_len="wasdsafsddfssd"; console.log(str_len.length);//length 返回字符的长度,包括空格 console.log(str_len[4]);//返回指定字符 //toUpperCase()把字符串全部变成大写 console.log(str_len.toUpperCase()); var str_case = str_len.toUpperCase(); //把表达式中的结果赋值给变量 //toLowerCase()把字符串全部变成小写 console.log(str_case.toLowerCase()); /* indezOf()和lastIndexOf() indexOf从前往后搜索 lastIndexOf()从后往前搜索 * */ console.log(str_len.indexOf("a",3)); /* indexOf从前往后搜索,返回第一个符合参数的指定位置 indexOf(a,b)a,b是index的两个参数,第二个参数可选; 第一个参数是指定的要搜索的字符,第二个是搜索的起始位置,它返回下标 * */ console.log(str_len.lastIndexOf("a",5)); /* lastIndexOf从后往前搜索,返回第一个符合参数的指定字符的位置 lastIndexOf(a,b)a,b是lastIndexOf的两个参数,第二个参数可选; 第一个参数是指定的要搜索的字符,第二个是搜索是指定字符的个数(从前往后搜索), 返回最后一个符合条件的字符的下标 * */ console.log(str_len.indexOf("v"));//搜索不到返回-1
var str_len="wasdsafsddfssd"; console.log(str_len.charAt(3,9));//chartAt()返回指定下标所代表的字符串 /* 返回子字符串:slice(),substring(),substr(),从某个字符串中获取一段字符串 第二个参数是字符串的终止位置,不包括终止位置的那个字符,如果只有一个参数,是起始位置的参数, 默认获取从起始位置到最后的所有字符作为子字符串,不改变原来的字符串 * */ var str_slice = str_len.slice(3,8); console.log(str_slice); var str_string = str_len.substring(3,9); console.log(str_string); var str_other = str_len.slice(3);//slice()只有一个参数,是起始位置 console.log(str_other);//默认是获取从起始位置到结尾的所有字符 /* slice()和substring()的区别,在对于负数的处理,slice()是从字符串的结尾往前计数, substring()对负数直接忽略,作为0来处理,并把最小的作为起始位置,大的作为结束位置 * */ var str_an = str_len.slice(3,-5);//参数二为负数,表示从字符串的末尾往前计数 console.log(str_an); var str_sub = str_len.substring(3,-5); //相当于str_len.substring(3,0); 也就是str_len。substring(0,3); console.log(str_sub); //substr(),接受两个参数,第一个是起始位置,第二个子字符串是长度 var str_str = str_len.substr(0,9); //从第一个字符开始,截取9个字符长度 console.log(str_str);
//算术运算符:+、-、*、/、% //+ 用于加法 var sum_jia = 1+1; console.log(sum_jia);//加法运算 //+用于字符串拼接,任意类型的数据和字符串拼接后都会是字符串 var num = 18; console.log(typeof(num));//typeof()检测数据类型 var str = "他的年龄是:"; console.log(typeof(str)); var totle = str+num;//任意类型的数据和字符串拼接后都会是字符串 console.log(typeof(totle)); console.log(totle); //-用于减法 var sum_jian = 1-2; console.log(sum_jian); //*用于乘法 var sum_cheng = 1*2; console.log(sum_cheng); // /用于除法,被除数不能为零,为零则会得到无穷大,也不建议用小数 var sum_chu = 1/2; console.log(sum_chu); //%求余 var sum_yu = 5%3; console.log(sum_yu);
var a = 1; var b = a++; console.log(b);//1 console.log(a);//1 var c=++b; console.log(c);//2 var sum_a = 4; var sum_b = --sum_a; console.log(sum_b);//3 console.log(sum_a);//3 var sum_c = sum_a++; console.log(sum_c);//3 console.log(sum_a);//4 var sum_d=sum_b--; console.log(sum_d);//3 console.log(sum_b);//2 var sum_e = sum_b; console.log(sum_b);//2 console.log(sum_e);//2
例子一:
var num_a = 10; var num_b = 20; if(num_a*num_b){ num_a++; num_b--; var sum_num1 = num_a+num_b; //num_a 已经是自增过后的,11 //num_b 已经是自减过后的,19 console.log(sum_num1);//30 }else{ num_a--; ++num_b; var sum_num2 = num_a+num_b; //num_a 已经自减过后,9 //num_b 已经自增过后,21 console.log(sum_num2); }
例子二:
//+= 相加后再赋值
var sum_num3 = 3;
var sum_num4 = 4;
sum_num4+=sum_num3;//相当于sum_sum4 = sum_4+sum_3;
console.log(sum_num4);
var sum=0;
for(var i=o;i<=100;i++){//for()循环,满足条件一直执行
sum+=i;//相当于sum = sum + i;
console.log(sum);
console.log(i);
}
//+=相加后再赋值 var sum_str = "这个数字为:"; sum_str += sum_num3;//拼接字符 console.log(sum_str); console.log(typeof(sum_str));//String类型 //-=相减后再赋值 var sum_num5 = 6; sum_num5-= sum_num4; console.log(sum_num5); //*=相乘后再赋值 var sum_num6 = 7; sum_num6 *= sum_num6; console.log(sum_num6); // /=相除后再赋值 var sum_num7 = 8; sum_num7 /=sum_num6; console.log(sum_num7); // %=求余后再赋值 var sum_num8 %= sum_num6; console.log(sum_num8); console.log(sum_num6); //=、==、===的区别 /* = 赋值,将右边的赋值给左边 == 全等,数值类型相等,先自动换数据类型再比较 === 绝对等于,数值、类型严格相等 * */
以上是我一个星期的入门基础学习,后续补全。
欢迎各位大神前来指教,也欢迎想要学习的伙伴一起探讨!!!
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。