JS基础

建议:一般情况下不在 head 标签中写 js 语句,因为该 js 语句会在 body 加载之前就执行,可能导致某些效果无效

// 单行注释
/*多行
* 注释*/
// 控制台输出语句
console.log('hello world'); // 浏览器的提示框
alert('这是一个提示框'); //页面展示
document.write('hello world');
document.write('<h1>alert</h1>');

数据类型

基本数据类型

  • Number:数字类型 整型 浮点型 NaN(不是一个数字) Infinity(不能处理的数字)
  • String:字符串,使用单引号或双引号的任意多个字符
  • boolean:true false
  • undefined:未定义类型 当定义变量时未赋值,默认为undefined类型,值为undefined
  • null:空类型,代表空值或没有值,空类型的值为null

null 与 undefined 区别:当变量定义了但未赋值,默认值为 undefined,当变量定义了并且赋予值为 null 时 ,为空类型

引用数据类型

  • String:字符串
  • Array:数组

Number类型

var num;
console.log(num); //undefined
console.log(typeof num); //undefined var num = 20;
console.log(typeof num); // number
console.log(num); // 变量的数据类型根据赋值的类型而定 // 定义一个八进制数
// js八进制数以0开头
var num3 = 056; // 以十进制格式输出
console.log(num3); // 46 // 定义十六进制
var num4 = 0x56
console.log(num4) // 86 // js中最大的数为1e308
console.log(1e308); //1e+308 // Infinity 特殊的number类型 特殊的值 当处理超出js的数值范围时
console.log(1e309); // infinity
console.log(typeof Infinity) // number类型 console.log(10/0)
// Infinity与其他任何数字进行数学计算 ,值依旧是Infinity console.log(Infinity+(-Infinity)); // NaN // NaN 表示不是一个数字,但是NaN是Number类型,只不过Number中
// 一个特殊的值
console.log(typeof NaN) //Number类型 //当运算符使用错误时,运算失败返回NaN
console.log('f' * 3); // NaN // NaN与任何数字进行运算都是NaN
console.log(1 + 2 + NaN)
console.log(Infinity + NaN); // NaN

Boolean类型

  • 数字 :0、0.0、NaN
  • 字符串: 空字符串
  • 空值类型:null
  • 未定义类型:undefined

以上为 false, 除以上情况都为真

命名空间

在同一个html文件中,所有的script共用同一个命名空间

    <script type="text/javascript">
var a = 200;
console.log(a);
</script> <script type="text/javascript">
console.log(a) // 200
</script>

字符串相关操作

// 一、字符串的拼接
// 字符串拼接 +
console.log('hello '+ 'world'); // 字符串+数字 变成字符串
console.log('1'+2); // '12' // 当运算符前后都是数字类型时 进行数学运算
console.log(1+2+'3'); // '33'
console.log('1'+2+3); // '123'
console.log(typeof 1+2+'3'); // number23
console.log(typeof (1+2+'3')); //string // 二、定义引用类型的字符串!!!
// new String()
// new:开辟空间 返回一个对象
// new: 创建一个类的实例对象的关键字, String():字符串的一个类
var str3 = new String('我是好人')
console.log(str3)
console.log(typeof str3); // object // string 基本数据类型
// object 引用数据类型
// 二者本质上的数据类型是不一样的
// 在实际操作中, 基本数据类型会自动转为引用数据类型,我们可以
// 用基本数据类型调用引用数据类型的方法或属性 // 三、字符串是不可变的数据类型 // 四、字符串的相关方法
// 1-字符串长度
var str5 = 'abcd';
var str6 = new String('qwert');
console.log(str5.length)
console.log(str6.length) // 2-大小写转行
var str7 = 'ABCdef';
console.log(str7.toLowerCase());
console.log(str7.toUpperCase()); // 3-字符串比较 比较acsii的值
var str8 = 'abc';
var str9 = 'auc';
var res = str8.localeCompare(str9); // -1 代表小于
console.log(res) // 4-ascii值转为字符
var str10 = String.fromCharCode(97);
console.log(str10); // a
console.log(typeof str10); // string // 5-获取字符串中某个下标的字符
console.log(str8.charAt(2)); // c
console.log(str8[2]);
console.log(str8.charAt(4)); // '' 下标越界不会报错 是空 // 6-字符串转ASCII charCodeAt(下标)
console.log(str8.charCodeAt(2)); //99 // 7-判断是否相等
// == :js中会自动进行数据转行再进行比较
// !=
// ===: 值与数据类型是否一致
// !==
var num1 = 10;
var num2 = '10';
console.log(num1 == num2) // 10==10 10=='10'
console.log(num1 === num2) // false // 8-字符串替换
// replace(旧字符串/正则表达式, 字符串)
// replace:目前只替换一次,如果想要全部替换需要正则
var str11 = 'today is cool and cood so cool';
console.log(str11.replace('cool', 'hot')); //换一次
console.log(str11.replace(/cool/g, 'hot')); // global 全局查找 // 9-切割字符串
// 如果不需要空字符串 也是需要正则的
console.log(str11.split(' '));
console.log(str11.split(/ +/)) // 10-将数组中元素拼接为字符 和Python相反
arr1 = [1,2,3,4]
console.log(arr1.join('*')); // 11-字符串截取
var str12 = 'abcdefghidefgk'
console.log(str12.substring(2)); //从第三个下标开始截取 cdefghigk
console.log(str12.substring(1,5)); // 5不包括
// substr 第二个参数是截取的个数
console.log(str12.substr(2));
console.log(str12.substr(1,5)); // 12-字符串查找
// indexOf:当能够找到:返回第一次找到的下标
// 找不到 返回-1
console.log(str12.indexOf('def'));
console.log(str12.indexOf('rrr'));
// 从右向左找
console.log(str12.lastIndexOf('def'));

关系运算符与逻辑运算符

console.log(1>'2'); // false
console.log(1=='1'); // true
console.log(1==='1') // false console.log(5 / 2) // 2.5 Number // true-> 1 false -> 0
console.log(1+true); //2
console.log(1+ false); //1 // null->0
console.log(1+ null); // 1 // undefined->NaN
console.log(1+undefined)// NaN && || ! ++ --

提示框类型

// alert
// confirm 有确定及取消两个按钮
// confirm 有返回值 点确定按钮时候返回true
var res = confirm('在么');
if(res == true){
console.log('66');
}else{
console.log('滚');
} //prompt 有返回值
//点击确定按钮时候,返回输入框的文字
// 点击取消 返回 null
res= prompt('请输入');
document.write(res);

JavaScript(数据类型、字符串操作)的更多相关文章

  1. 前端 javascript 数据类型 字符串

    字符串是由字符组成的数组,但在JavaScript中字符串是不可变的:可以访问字符串任意位置的文本,但是JavaScript并未提供修改已知字符串内容的方法. obj.charAt(n) 返回字符串中 ...

  2. 010-python基础-数据类型-字符串操作

    1.移除空白 username.strip() 2.分割 names = "alex,jack,rain" names_1 = names.split(",") ...

  3. javascript的字符串操作

    一,把字符串的首字母大写返回一个新的字符串 1.1简单写法,把一个单词的首字母大写 String.prototype.firstUpperCase = function(){ return this[ ...

  4. JavaScript中常见的字符串操作函数及用法

    JavaScript中常见的字符串操作函数及用法 最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题.淘宝的笔试题等.如果你经常参加笔试或者也是一个过来人,相信 ...

  5. [转] JavaScript中的字符串操作

    一.概述    字符串在JavaScript中几乎无处不在,在你处理用户的输入数据的时候,在读取或设置DOM对象的属性时,在操作cookie时,当然还有更 多....JavaScript的核心部分提供 ...

  6. JavaScript的字符串、数组以及DOM操作总结

    (一)JavaScript字符串操作 JavaScript的字符串就是用' '或" "括起来的字符表示,日常的学习中有时候需要对字符串进行相关的操作.例如要获取字符串某个指定位置的 ...

  7. javascript中字符串常用操作整理

    javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...

  8. 深圳尚学堂:JavaScript中常见的字符串操作

    快到春节放假了,春节后又是一大波的找工作热潮,在前端实招聘笔试时,必不可免额会考到关于JavaScript中字符串的处理问题.考的不是你会不会,而是你能不能在不借用XX手册或者XX指南再或者百度谷歌的 ...

  9. Loadrunner脚本编程(4)-数据类型操作和字符串操作

    http://www.360doc.com/content/10/0806/13/1698198_44078277.shtml 一,数据类型转换 没有使用过C编程的LoadRunner脚本编写者会发现 ...

  10. Python3基础(2)模块、数据类型及运算、进制、列表、元组、字符串操作、字典

    ---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1 ...

随机推荐

  1. javascript的数组之from()

    Array.from()方法从一个类似数组或可迭代对象中创建一个新的数组实例. const arr = [1, 2, 3]; Array.from(arr); //[1, 2, 3] Array.fr ...

  2. 嵌入式常用技术概览之IIC(I2C)

    一.先决知识             (1)模电基础知识(用以理解IIC如何通信) 二.IIC概览               I2C是80年代飞利浦(Philips->NXP->高通)研 ...

  3. css学习_css文字阴影、盒子阴影

    文字阴影和盒子阴影的用法: 多阴影

  4. 2016 Multi-University Training Contest 2题解报告

    A - Acperience HDU - 5734 题意: 给你一个加权向量,需要我们找到一个二进制向量和一个比例因子α,使得|W-αB|的平方最小,而B的取值为+1,-1,我们首先可以想到α为输入数 ...

  5. Gym 101194E / UVALive 7901 - Ice Cream Tower - [数学+long double][2016 EC-Final Problem E]

    题目链接: http://codeforces.com/gym/101194/attachments https://icpcarchive.ecs.baylor.edu/index.php?opti ...

  6. finance1:专业词汇

    1,沙盘演练:沙盘演练又叫沙盘模拟培训.沙盘推演,源自西方军事上的战争沙盘模拟推演,是通过引领学员进入一个模拟的竞争性行业,由学员分组建立若干模拟公司,围绕形象直观的沙盘教具,实战演练模拟企业的经营管 ...

  7. 运行opatch lsinventory

    http://blog.itpub.net/4227/viewspace-704451/ 运行opatch lsinventory 注意执行opatch lsinventory的路径: > $O ...

  8. 上传js,js修改html

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 【Python全栈-后端开发】Django入门基础-2

    Django入门基础知识-2 一 .模版 一.模版的组成 HTML代码+逻辑控制代码 二.逻辑控制代码的组成 1  变量(使用双大括号来引用变量) {{var_name}} 2  标签(tag)的使用 ...

  10. 执行git add .命令时报warning: LF will be replaced by CRLF in yarn.lock.

    解决办法是执行:git config --global core.autocrlf false 是符号 / 转义的问题