2.JavaScript的一些基本语法
来源:互联网 发布:淘宝自出版平台 编辑:程序博客网 时间:2024/06/07 11:43
一些应该掌握的知识点
五种基本值类型:Number,String,Boolean,null,undefined;复杂数据类型:Object
原始值是不可改变的,是栈数据(栈,先进后出,后进先出)
值类型,把值传递给另一个变量(赋值),相当于分配了一块新的内存空间
String类型的特殊性:因为字符串大小可变,所以不能被存储在具有固定大小的变量中。且JS只复制对字符串的引用,而不是字符串的内容。但字符串不可变,因此String是行为与基本类型相似的不可变引用类型。(注:原始值是不可变的,任何方法都不能改变原始值内容,像String的方法,只能返回新的字符串,而不能修改原始字符串)
引用类型,相当于让指针指向另一变量,拥有同一块内存空间,eg.Object,Array,Function
引用值是堆数据(堆,先进先出,后进后出)
关于undefined,null,NaN
- 未定义的值和定义未赋值的为undefined
- null是一种特殊的object
- NaN是一种特殊的number
- 关于null与undefined区别的一篇博客参考:JS中Null与Undefined的区别
JS语句的两个基本规则
- 语句后面要用分号’;’结束
- JS语法错误会引发后续代码终止,但不会影响其他JS代码块
用一个变量去操作一个数字的时候,最多只能操作小数点前16位,和小数点后17位
加号’+’可以进行数学运算和字符串连接,任何数据类型加字符串都等于字符串
右加加(减减):先参与运算,操作符本身再+1;左加加(减减):操作符先自+1,再参与运算
会被认定为false的值:undefined, null, NaN, ”, false
逻辑与’&&’还有一个功能,假设a = b && c, 假设b的值为真,则直接把c的值赋给a
for (1;2;3){},执行1, 判断2,真则执行{},再执行3,判断2
所键盘上有字符都是一个字节;若当前字符位的unicode大于255,那么该字节符长度为2,否则该字节符长度为1
一些简单的代码示例:设定a,b两变量并分别赋值,再把a,b两值互相调换
方法一
var a = 123;//创建变量并赋值 var b = 234; var c; c = a;//把a赋值给c a = b; b = c;
方法二
var a = 123; var b = 234; var c; a = a + b;//把a+b的值赋给a b = a - b; a = a - b;
“==”与”===”的区别
- ”==”称作相等运算符,用它检测两个操作数是否相等,允许进行类型转换
- “===”称为严格相等运算符,用它检测两个操作数是否严格相等
一个if条件语句示例
var num = parseInt(window.prompt());if (num >= 90) { //圆括号'()'内设定条件,如成立则执行大括号'{}'语句 document.write('<b><i>日薪百万</i></b>');//在window窗口显示相关内容,并对文本内容加粗加斜}else if (num < 90 && num >= 80) {//若if语句条件不成立,则执行else if语句 document.write('<b><i>周薪百万</i></b>');}else if (num >= 70) { document.write('<b><i>月薪百万</i></b>');}else if (num >= 60) { document.write('<b><i>年薪百万</i></b>');}else {//若其他条件皆不成立,则执行该语句 document.write('<b><i>你就是个菜逼</i></b>'); }
- 一个switch条件语句示例
var n = window.prompt('选择逃课的时长,请输入数字1~7');switch (n) { //设置表达式,并判断与下列case语句中哪一个case匹配 case '1': document.write('一节课'); break; //执行完本条case语句后停止执行下一个case case '2': document.write('半天'); break; case '3': document.write('一天'); break; case '4': document.write('一周'); break; case '5': document.write('一个月'); break; case '6': document.write('一学期'); continue; //停止执行该条语句并执行下一个case case '7': document.write('一学年'); break; default: //当所有的case都不匹配时默认执行该语句 document.write('你还是退学吧') };
- 一个for循环语句示例
var count = 0; var times = 0; for (var i = 0; i<100;) { /*在圆括号"()"中创建变量i并赋予初值0,然后判断是否满足条件i<100, 如满足则开始执行大括号"{}"中的语句,执行完成后再次判断是否满足 条件i<100 */ count += i++; //完成一次count=count+i后,i再自加一 times++; if (count >= 300) { i = 100; document.write(times); document.write('<br>') document.write(count) }}
- do…while语句用法(注:do…wihile语句是循环语句的变体)
do {}while () {} /*在检查while()条件是否为真之前,该循环首先会执行一次do{}之内的语句,然后 在while()内检查条件是否为真,如果条件为真的话,就会重复do...while 这个循环,直至while()为假 */
一些练习
- 计算2的N次幂
var n = parseInt(window.prompt('计算2的N次幂,请输入N的值')); /* 声明一个变量n,在window 窗口的弹窗中输入一个整型, 并赋值给n */var m = 1;var i;if (n >= 0) { for (i = 0; i < n; i++) { m = m * 2; }}else { for (i = 0; i > n; i--) { m = m * (-2); }}document.write('2的',n,'次幂为',m,'<br>');//在window窗口中输出语句"2的n次幂为m"并折行
- 计算N阶乘
var n = parseInt(window.prompt('计算N的阶乘,请输入N的值'));var m = n;if (n > 0) { for (i = 1; i < m; i++) { n = n * (m - i); } document.write(m,'的阶乘为',n,'<br>');}else { document.write('不能输入小于或等于0的数','<br>');}
- 计算斐波那契数列的第N项
var n = parseInt(window.prompt('你需要斐波那契数列的第几项?,请输入N值'));var m = 1;var a = 1, b = 1;if (n > 0) { for (var i = 1; i < n - 1; i++) { var m = a + b; a = b; b = m; } document.write('斐波那契数列的第',n,'项为',m,'<br>');}else { document.write('不能输入小于或等于0的数','<br>');}
- 输入一个三位数,对输入值反向输出
var n = parseInt(window.prompt('请输入一个个位数不为零的三位正整数'))var c;var a = n % 10;var b = (n - a) % 100;c = (n - a - b) / 100;if (n > 100 && a != 0) { var m = a * 100 + b + c; document.write('数值',n,'的反向输出为',m,'<br>');}else { document.write('出错','<br>')}
- 输入三个数,并输出其中的最大值
alert('a,b,c三数比较大小')var a = parseFloat(window.prompt('a,b,c三数比较大小,请输入a的值'));var b = parseFloat(window.prompt('a,b,c三数比较大小,请输入b的值'));var c = parseFloat(window.prompt('a,b,c三数比较大小,请输入c的值'));var n = a;if (a < b && b > c) { n = b;}else if (a < c) { n = c;}document.write('a,b,c中的最大值为',n,'<br>');
- 给定任意正整数N,取0到正整数N之间的质数
var n = parseInt(window.prompt('取零到正整数N之间的质数'));document.write('0到',n,'之间的质数为');for (var i = 1; i <= n; i++) { var m = 0; for (var a = 1; a <= i; a++) { if (i % a == 0) { m++; } } if(m == 2) { document.write(i + ' '); }}document.write('<br>');
- 用”typeof”判断一些值类型
n = window.prompt('别乱按,我看着你呢!')switch (n) { case '1': alert(typeof(a));break; case '2': alert(typeof(undefined));break; case '3': alert(typeof(NaN));break; case '4': alert(typeof(null));break; case '5': var a = '123abc';alert(typeof(+a));break; case '6': alert(typeof(!!a));break; case '7': alert(typeof(a + ''));break; case '8': alert(1 == '1');break; case '9': alert(NaN == NaN);break; case '10': alert(parseInt('123abc'));break; case '11': var num = 123123.3545789; alert(num.toFixed(3));break; default: alert('你再瞎按试试?瞧我不弄死你!');};
- 2.JavaScript的一些基本语法
- JavaScript的基本语法
- JavaScript的基本语法
- javaScript的基本语法
- Javascript的基本语法
- JavaScript的基本语法
- JavaScript的基本语法
- javascript的基本语法
- JavaScript的基本语法
- JavaScript的基本语法
- 2. javascript基本语法
- sqlserver 一些基本的语法
- MySQL的一些基本语法
- c的一些基本语法
- Markdown的一些基本语法
- oracle的一些基本语法
- JavaScript基本语法的学习
- JavaScript的一些基础语法
- EventBas简单的黏性事件传值的简单实现
- 安装maven 之后配置环境变量后 ,在命令行 中输入 mvn 遇到的C:\Users\Administrator>mvn The JAVA_HOME environment variabl.的错误
- 2144 数据结构实验之图论九:最小生成树
- Less函数说明
- [Err] 1054
- 2.JavaScript的一些基本语法
- Android Kotlin入门(RecyclerView的使用)
- 只有浏览器显示找不到服务器dns
- C++11 新特性总结
- 第十五周项目3
- js提交数据到后台(json)," 被转译 成了"
- com/beust/jcommander/ParameterException : Unsupported major.minor version 52.0
- dockers 部署mongo
- hdoj 2817 A sequence of numbers